Kuidas panna WordPressi kategooria/sildi/autori leht kleepuvaid artikleid näitama?

WordPressSeal on sisseehitatud artiklite kleepimise funktsioon, kuid vaikimisi toetatakse kleepuvate artiklite kuvamiseks ainult ülemist lehte.

Muud arhiivilehed (nt kategoorialehed, sildilehed, autorilehed ja kuupäevalehed) ei saa kuvada kinnitatud artikleid ülaosas, vaid vaikejärjestuses.

WordPressiga palju pistmistSEOsõbrad, loodan need probleemid lahendada.

Kuidas panna WordPressi kategooria/sildi/autori leht kleepuvaid artikleid näitama?

Tegelikult on meil vaja ainult viidata faili wp-includes/query.php kodulehe koodile ja seda veidi muuta, nii et arhiivilehe ülaosa (nt kategooria leht, vahekaart, autori leht ja kuupäeva leht) ) saab kuvada ka peamise artikli.

WordPressi kleepuv artiklikood

Palun sisestage järgmine kood faili functions.php oma praeguse teema alla ▼

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

Kleepuva artikli koodi kasutamise juhised

1) Kui soovite, et arhiivi lehel kuvataks kõik populaarsemad artiklid, kustutage 11-43 koodirida;

2) Kui te ei soovi kategoorialehel kõige populaarsemat artiklit kuvada, lisage 3 reale ▼

if(

Muuda ▼

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

3) Kui te ei soovi vahekaardil peamist artiklit kuvada, palun ▼ real 3

if(

muutuda:

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

4) Kui te ei soovi, et autorilehel kuvatakse parimat artiklit, palun ▼ real 3

if(

Muuda ▼

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

5) Kui te ei soovi, et kohandatud kategooria lehel kuvataks parimat artiklit, pange

if(

Muutke see järgmiseks:

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

Ülaltoodud kood kehtib ainult põhitsükli jaoks, kui kasutate WP_Query või query_posts, et saada arhiivilehe postituste loend, ja soovite kuvada kinnitatud postitust nende loendite kohal.

Saate 3. realt järgmise koodi kustutada (võib põhjustada kuvatavate artiklite arvu erinemist teie määratud arvust) ▼

|| !is_main_query() 

Lisage ülemisele artiklile stiil

Kui soovite kleepuvale postitusele stiile lisada, lisage faili functions.php järgmine kood ja lisage kleepuvale postitusele klass nimega sticky.

Üldistes WordPressi teemades on ülemise artikli stiili jaoks CSS-kood, saate lisada ka kohandatud ▼

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

On veel üks viis, kuidas panna WordPressi kategooria arhiivi lehtedel WordPressi artikleid ülaosas kuvama▼

Hope Chen Weiliangi ajaveeb ( https://www.chenweiliang.com/ ) jagatud "Kuidas panna WordPressi kategooria/sildi/autori leht kleepuvaid artikleid näitama? , sind aidata.

Tere tulemast selle artikli linki jagama:https://www.chenweiliang.com/cwl-878.html

Tere tulemast Chen Weiliangi ajaveebi Telegrami kanalile, et saada uusimaid värskendusi!

🔔 Olge esimene, kes saab kanali ülemises kataloogis väärtusliku "ChatGPT sisuturunduse AI tööriista kasutamise juhendi"! 🌟
📚 See juhend sisaldab tohutut väärtust, 🌟See on harukordne võimalus, ärge jätke seda kasutamata! ⏰⌛💨
Jaga ja like kui meeldib!
Teie jagamine ja meeldimised on meie pidev motivatsioon!

 

发表 评论

Teie e-posti aadressi ei avaldata. Kasutatakse kohustuslikke välju * Silt

kerige üles