Hoe kinne jo WordPress-kategory / tag / auteur-side kleverige artikels sjen litte?

WordPressD'r is in ynboude artikelplakfunksje, mar standert wurdt allinich de boppeste side stipe om kleverige artikels wer te jaan.

Oare argyfsiden (lykas kategorysiden, tagsiden, auteurssiden en datumsiden) kinne gjin plakkerige artikels boppe-oan werjaan, allinich yn 'e standertfolchoarder.

in protte te dwaan mei WordPressSEOfreonen, hoopje te lossen dizze problemen.

Hoe kinne jo WordPress-kategory / tag / auteur-side kleverige artikels sjen litte?

Yn feite hoege wy allinich de koade fan 'e thússide fan wp-includes/query.php te ferwizen en it in bytsje te feroarjen, sadat de boppekant fan' e argyfside (lykas kategoryside, ljepperside, auteurside en datumside) ) kin ek it boppeste artikel werjaan.

WordPress kleverige artikelkoade

Pleats asjebleaft de folgjende koade yn it functions.php-bestân ûnder jo hjoeddeistige tema ▼

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

Ynstruksjes foar it brûken fan de koade fan it kleverige artikel

1) As jo ​​​​wolle dat de argyfside alle topartikels werjaan, wiskje dan de 11-43 rigels koade;

2) As jo ​​​​it topartikel op 'e kategoryside net werjaan wolle, foegje dan ▼ ta yn rigel 3

if(

Feroarje nei ▼

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

3) As jo ​​​​it boppeste artikel net op 'e ljepblêdside wolle werjaan, asjebleaft ▼ yn rigel 3

if(

feroarje yn:

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

4) As jo ​​​​net wolle dat de auteursside it boppeste artikel werjaan, asjebleaft ▼ yn rigel 3

if(

Feroarje nei ▼

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

5) As jo ​​net wolle dat in oanpaste kategory side te werjaan de top artikel, set de

if(

Feroarje it yn:

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

De boppesteande koade is allinich jildich foar de haadloop, as jo WP_Query of query_posts brûke om in list mei berjochten op 'e argyfside te krijen, en wolle de pinne post boppe op dy listen werjaan.

Jo kinne de folgjende koade yn rigel 3 wiskje (kin feroarsaakje dat it oantal werjûn artikels oars is fan wat jo ynsteld hawwe) ▼

|| !is_main_query() 

Foegje styl ta oan it boppeste artikel

As jo ​​​​stilen tafoegje wolle oan 'e kleverige post, foegje dan de folgjende koade ta oan functions.php en foegje in klasse ta mei de namme sticky oan' e kleverige post.

Yn algemiene WordPress-tema's sil d'r CSS-koade wêze foar de topartikelstyl, jo kinne ek oanpaste ▼ tafoegje

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

D'r is in oare manier om WordPress-kategory-argyfsiden te meitsjen fan WordPress-artikels oan 'e boppekant▼

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) dield "Hoe meitsje jo WordPress-kategory/tag-/auteurspagina kleverige artikels sjen litte? , om dy te helpen.

Wolkom om de keppeling fan dit artikel te dielen:https://www.chenweiliang.com/cwl-878.html

Wolkom by it Telegram-kanaal fan Chen Weiliang's blog om de lêste updates te krijen!

🔔 Wês de earste om de weardefolle "ChatGPT Content Marketing AI Tool Usage Guide" te krijen yn 'e kanaaltopmap! 🌟
📚 Dizze hantlieding befettet enoarme wearde, 🌟Dit is in seldsume kâns, mis it net! ⏰⌛💨
Diel en like as jo wolle!
Jo dielen en likes binne ús trochgeande motivaasje!

 

发表 评论

Jo e-postadres wurdt net publisearre. Ferplichte fjilden wurde brûkt * Etiket

rôlje nei boppen