ڪيئن ٺاهيو ورڈپریس ڪيٽيگري/ٽيگ/ليکڪ پيج شو اسٽڪي آرٽيڪل؟

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) جيڪڏهن توهان نٿا چاهيو ته ڪسٽم ڪيٽيگري جو صفحو مٿئين مضمون کي ڏيکاري، رکو

if(

ان کي تبديل ڪريو:

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

مٿي ڏنل ڪوڊ صرف مکيه لوپ لاءِ صحيح آهي، جيڪڏهن توهان استعمال ڪري رهيا آهيو WP_Query يا query_posts پوسٽن جي لسٽ حاصل ڪرڻ لاءِ آرڪائيو پيج تي، ۽ انهن لسٽن جي مٿي تي پن ٿيل پوسٽ ڏيکارڻ چاهيو ٿا.

توھان ھيٺ ڏنل ڪوڊ کي لائن 3 ۾ ختم ڪري سگھو ٿا (شايد مضمونن جو تعداد ڏيکاريل آھي توھان جي سيٽ ڪيل کان مختلف آھي) ▼

|| !is_main_query() 

مٿين مضمون ۾ انداز شامل ڪريو

جيڪڏهن توهان اسٽائيل پوسٽ ۾ اسٽائل شامل ڪرڻ چاهيو ٿا ته هيٺين ڪوڊ کي functions.php ۾ شامل ڪريو ۽ اسٽڪي پوسٽ ۾ اسٽڪي نالي هڪ ڪلاس شامل ڪريو.

عام ورڈپریس تھیمز ۾، مٿين مضمون جي طرز لاءِ CSS ڪوڊ هوندو، توهان پڻ ڪسٽم ▼ شامل ڪري سگهو ٿا

//置顶文章添加样式
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;
} 

ورڈپریس ڪيٽيگري آرڪائيو صفحا ٺاهڻ جو هڪ ٻيو طريقو آهي ورڈپریس آرٽيڪل مٿي تي ڏيکاريو▼

اميد چن ويلانگ بلاگ ( https://www.chenweiliang.com/ ) شيئر ڪيو ويو "ڪيئن ڪجي ورڈپریس ڪيٽيگري/ٽيگ/مصنف صفحو ڏيکاريو اسٽڪي آرٽيڪل؟ ، توهان جي مدد ڪرڻ لاءِ.

هن آرٽيڪل جي لنڪ کي حصيداري ڪرڻ لاء ڀليڪار:https://www.chenweiliang.com/cwl-878.html

تازن تازه ڪاريون حاصل ڪرڻ لاءِ Chen Weiliang جي بلاگ جي ٽيليگرام چينل تي ڀليڪار!

🔔 چينل جي ٽاپ ڊاريڪٽري ۾ قيمتي "ChatGPT مواد مارڪيٽنگ AI اوزار استعمال ڪرڻ جي گائيڊ" حاصل ڪرڻ وارا پھريون بڻجي وڃو! 🌟
📚 هي گائيڊ وڏي قيمت تي مشتمل آهي، 🌟 هي هڪ نادر موقعو آهي، ان کي نه وڃايو! ⏰⌛💨
پسند اچي ته شيئر ڪريو ۽ پسند ڪريو!
توهان جي حصيداري ۽ پسند اسان جي مسلسل حوصلا آهن!

 

发表 评论

توهان جو اي ميل پتو شايع نه ڪيو ويندو. 必填 项 已 用 * ليبل

مٿي ڏانهن ڇڪيو