څنګه کولی شو د ورڈپریس کټګورۍ/ټاګ/لیکوال پاڼه چپچینې مقالې وښیو؟

WordPressد مقالو سټیک کولو یو جوړ شوی فعالیت شتون لري ، مګر په ډیفالټ کې یوازې پورتنۍ پا pageه د چپچینې مقالو ښودلو لپاره ملاتړ کیږي.

د آرشیف نورې پاڼې (لکه د کټګورۍ پاڼې، د ټاګ پاڼې، د لیکوال پاڼې، او د نیټې پاڼې) نشي کولی په سر کې چپچینې مقالې ښکاره کړي، یوازې په ډیفالټ ترتیب کې.

د WordPress سره ډیر څه کولSEOدوستانو هیله ده دا ستونزی حل شی.

څنګه کولی شو د ورڈپریس کټګورۍ/ټاګ/لیکوال پاڼه چپچینې مقالې وښیو؟

په حقیقت کې، موږ یوازې د wp-includes/query.php د کور پاڼې کوډ ته مراجعه کولو ته اړتیا لرو او یو څه یې تعدیل کړئ، ترڅو د آرشیف پاڼې پورته برخه (لکه د کټګورۍ پاڼه، د ټب پاڼه، د لیکوال پاڼه او نیټه پاڼه ) هم کولی شي پورته مقاله ښکاره کړي.

د ورڈپریس چپچینې مقالې کوډ

مهرباني وکړئ لاندې کوډ په functions.php فایل کې د خپل اوسني موضوع لاندې ولیکئ ▼

//让WordPress分类、标签、存档和作者页显示置顶文章
add_filter('the_posts', 'putStickyOnTop' );
function putStickyOnTop( $posts ) {
if ( is_series() || is_home() || !is_main_query() || !is_archive())
return $posts;

global $wp_query;

$sticky_posts = get_option('sticky_posts');

if ( $wp_query->query_vars['paged'] <= 1 && is_array($sticky_posts) && !empty($sticky_posts) && !get_query_var('ignore_sticky_posts') ) { $stickies1 = get_posts( array( 'post__in' => $sticky_posts ) );
foreach ( $stickies1 as $sticky_post1 ) {
// 判断当前是否分类页 
if($wp_query->is_category == 1 && !has_category($wp_query->query_vars['cat'], $sticky_post1->ID)) {
// 移除不是本分类的文章
$offset1 = array_search($sticky_post1->ID, $sticky_posts);
unset( $sticky_posts[$offset1] );
}
if($wp_query->is_tag == 1 && has_tag($wp_query->query_vars['tag'], $sticky_post1->ID)) {
// 移除不是本标签的文章
$offset1 = array_search($sticky_post1->ID, $sticky_posts);
unset( $sticky_posts[$offset1] );
}
if($wp_query->is_year == 1 && date_i18n('Y', strtotime($sticky_post1->post_date))!=$wp_query->query['m']) {
// 移除不是本年份的文章
$offset1 = array_search($sticky_post1->ID, $sticky_posts);
unset( $sticky_posts[$offset1] );
}
if($wp_query->is_month == 1 && date_i18n('Ym', strtotime($sticky_post1->post_date))!=$wp_query->query['m']) {
// 移除不是本月份的文章
$offset1 = array_search($sticky_post1->ID, $sticky_posts);
unset( $sticky_posts[$offset1] );
}
if($wp_query->is_day == 1 && date_i18n('Ymd', strtotime($sticky_post1->post_date))!=$wp_query->query['m']) {
// 移除不是本日期的文章
$offset1 = array_search($sticky_post1->ID, $sticky_posts);
unset( $sticky_posts[$offset1] );
}
if($wp_query->is_author == 1 && $sticky_post1->post_author != $wp_query->query_vars['author']) {
// 移除不是本作者的文章
$offset1 = array_search($sticky_post1->ID, $sticky_posts);
unset( $sticky_posts[$offset1] );
}
}

$num_posts = count($posts);
$sticky_offset = 0;
// Loop over posts and relocate stickies to the front.
for ( $i = 0; $i < $num_posts; $i++ ) {
if ( in_array($posts[$i]->ID, $sticky_posts) ) {
$sticky_post = $posts[$i];
// Remove sticky from current position
array_splice($posts, $i, 1);
// Move to front, after other stickies
array_splice($posts, $sticky_offset, 0, array($sticky_post));
// Increment the sticky offset. The next sticky will be placed at this offset.
$sticky_offset++;
// Remove post from sticky posts array
$offset = array_search($sticky_post->ID, $sticky_posts);
unset( $sticky_posts[$offset] );
}
}

// If any posts have been excluded specifically, Ignore those that are sticky.
if ( !empty($sticky_posts) && !empty($wp_query->query_vars['post__not_in'] ) )
$sticky_posts = array_diff($sticky_posts, $wp_query->query_vars['post__not_in']);

// Fetch sticky posts that weren't in the query results
if ( !empty($sticky_posts) ) {
$stickies = get_posts( array(
'post__in' => $sticky_posts,
'post_type' => $wp_query->query_vars['post_type'],
'post_status' => 'publish',
'nopaging' => true
) );

foreach ( $stickies as $sticky_post ) {
array_splice( $posts, $sticky_offset, 0, array( $sticky_post ) );
$sticky_offset++;
}
}
}

return $posts;
}

//置顶文章添加样式
add_filter('post_class',  'addStickyClass' ,10,3 );
function addStickyClass( $classes, $class, $post_id ){
  if( is_sticky() && is_category() && !isset( $classes['sticky'] ) ){
    $classes[] = 'sticky';
  }
  
  return $classes;
} 

د چپچینې مقالې کوډ کارولو لپاره لارښوونې

1) که تاسو غواړئ د آرشیف پاڼه ټول غوره مقالې ښکاره کړي، مهرباني وکړئ د کوډ 11-43 کرښې حذف کړئ؛

2) که تاسو نه غواړئ د کټګورۍ په پاڼه کې غوره مقاله ښکاره کړئ، مهرباني وکړئ په 3 کرښه کې ▼ اضافه کړئ

if(

▼ ته بدلون ورکړئ

// abc是分类的名称
if ( is_category( 'abc' ) || 

3) که تاسو نه غواړئ د ټب په پاڼه کې غوره مقاله ښکاره کړئ، مهرباني وکړئ ▼ په 3 کرښه کې

if(

په بدل کې:

// abc是标签的名称
if ( is_tag( 'abc' ) || 

4) که تاسو نه غواړئ د لیکوال پاڼه غوره مقاله ښکاره کړي، مهرباني وکړئ ▼ په 3 کرښه کې

if(

▼ ته بدلون ورکړئ

// abc是作者的昵称
if ( is_author( 'abc' ) || 

5) که تاسو نه غواړئ د دودیز کټګورۍ پا pageه د پورتنۍ مقالې ښودلو لپاره ، کیږدئ

if(

بدل یې کړئ:

// series是自定义分类、abc是自定义分类名称
if ( is_series( 'abc' ) ||

پورتني کوډ یوازې د اصلي لوپ لپاره د اعتبار وړ دی، که تاسو د آرشیف پاڼې کې د پوستونو لیست ترلاسه کولو لپاره WP_Query یا query_posts کاروئ، او غواړئ د دې لیستونو په سر کې پنډ شوي پوسټ ښکاره کړئ.

تاسو کولی شئ لاندې کوډ په 3 کرښه کې حذف کړئ (ممکن د دې لامل شي چې د مقالو شمیر د هغه څه څخه توپیر ولري چې تاسو یې تنظیم کړئ) ▼

|| !is_main_query() 

په پورتنۍ مقاله کې سټایل اضافه کړئ

که تاسو غواړئ په سټیکي پوسټ کې سټایلونه اضافه کړئ ، لاندې کوډ functions.php ته اضافه کړئ او سټیکي پوسټ ته د سټیکي په نوم کلاس اضافه کړئ.

د عمومي ورڈپریس موضوعات به د غوره مقالې سټایل سی ایس ایس کوډ ولري، تاسو کولی شئ دودیز ▼ هم اضافه کړئ

//置顶文章添加样式
add_filter('post_class',  'addStickyClass' ,10,3 );
function addStickyClass( $classes, $class, $post_id ){
  if( is_sticky() && is_category() && !isset( $classes['sticky'] ) ){
    $classes[] = 'sticky';
  }
  
  return $classes;
} 

د ورڈپریس کټګورۍ آرشیف پا pagesو جوړولو لپاره بله لاره شتون لري د ورڈپریس مقالې په سر کې ښیې▼

امید چن وییلینګ بلاګ ( https://www.chenweiliang.com/ ) شریک کړل "څنګه کولی شو د ورډپریس کټګورۍ/ټاګ/لیکوال پاڼه چپچپا مقالې وښیو؟ ، ستاسو سره د مرستې لپاره.

د دې مقالې لینک شریکولو ته ښه راغلاست:https://www.chenweiliang.com/cwl-878.html

د نورو پټو چلونو د خلاصولو لپاره، زموږ د ټیلیګرام چینل سره یوځای کیدو ته ښه راغلاست!

که مو خوښه شوه لایک او شریک کړئ! ستاسو شریکول او خوښول زموږ دوامداره هڅونه ده!

 

评论 评论

ستاسو بریښنالیک پته به خپره نشي. اړین ساحې کارول کیږي * لیبل

پاس شئ