Yadda ake yin rukunin WordPress/tag/ shafi na marubuci ya nuna labarai masu tsini?

WordPressAkwai ginanniyar aikin manne labarin, amma ta tsohuwa kawai babban shafi ne ake tallafawa don nuna labarai masu mannewa.

Sauran shafukan ajiya (kamar shafukan rukuni, shafuka masu alamar, shafukan marubuci, da shafukan kwanan wata) ba za su iya nuna labarai masu tsinke a saman ba, kawai a cikin tsari na asali.

mai yawa don yi tare da WordPressSEOabokai, fatan za a warware wadannan matsaloli.

Yadda ake yin rukunin WordPress/tag/ shafi na marubuci ya nuna labarai masu tsini?

A zahiri, kawai muna buƙatar komawa zuwa lambar gidan gidan yanar gizon wp-includes/query.php kuma mu gyara shi kaɗan, ta yadda saman shafin tarihin (kamar shafi na rukuni, shafin shafi, shafin marubuci da shafin kwanan wata. ) Hakanan zai iya nuna babban labarin.

Lambar labarin mai ɗaure ta WordPress

Da fatan za a saka lambar mai zuwa a cikin fayil ayyuka.php a ƙarƙashin taken ku na yanzu ▼

//让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;
} 

Umarnin don amfani da lambar labarin m

1) Idan kana son shafin tarihin ya nuna duk manyan labaran, da fatan za a share layin lambar 11-43;

2) Idan baku son nuna babban labarin akan shafin rukuni, da fatan za a ƙara ▼ a layi na 3

if(

Gyara zuwa ▼

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

3) Idan baku son nuna babban labarin akan shafin shafin, don Allah ▼ a layi na 3

if(

canza zuwa:

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

4) Idan ba ka son shafin marubuci ya nuna babban labarin, don Allah a cikin layi na 3

if(

Gyara zuwa ▼

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

5) Idan ba kwa son shafin rukunin al'ada don nuna babban labarin, sanya

if(

Canza shi zuwa:

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

Lambar da ke sama tana aiki ne kawai don babban madauki, idan kuna amfani da WP_Query ko query_posts don samun jerin abubuwan da aka buga akan shafin tarihin, kuma kuna son nuna maƙallan rubutu a saman waɗannan jerin.

Kuna iya share lambar da ke gaba a layi na 3 (na iya sa adadin labaran da aka nuna ya bambanta da abin da kuka saita) ▼

|| !is_main_query() 

Ƙara salo zuwa babban labarin

Idan kana so ka ƙara salo zuwa wurin mai ɗaki, ƙara lambar da ke biyowa zuwa ayyuka.php kuma ƙara aji mai suna m zuwa madaidaicin matsayi.

Gabaɗaya jigogi na WordPress, za a sami lambar CSS don salon labarin saman, zaku iya ƙara al'ada ▼

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

Akwai wata hanyar da za a yi shafukan tarihin rukunin WordPress suna nuna labaran WordPress a saman▼

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "Yadda ake yin WordPress category/tag/marubuci shafi na nuna m articles? , don taimaka muku.

Barka da zuwa raba hanyar haɗin wannan labarin:https://www.chenweiliang.com/cwl-878.html

Barka da zuwa tashar Telegram na Chen Weiliang's blog don samun sabbin abubuwa!

🔔 Kasance na farko don samun "ChatGPT Content Marketing AI Tool Guideing Guide" a cikin babban jagorar tashar! 🌟
📚 Wannan jagorar ya ƙunshi ƙima mai yawa, 🌟Wannan dama ce da ba kasafai ba, kar a rasa ta! ⏰⌛💨
Share da like idan kuna so!
Rarraba ku da abubuwan so sune ci gaba da ƙarfafa mu!

 

comments

Adireshin imel ba za a buga ba. Ana amfani da filayen da ake buƙata * Alamar

gungura zuwa sama