Kuinka saada WordPress-luokka/tunniste/tekijäsivu näyttämään tarttuvia artikkeleita?

WordPressSiinä on sisäänrakennettu artikkelin kiinnitystoiminto, mutta oletusarvoisesti vain yläsivua tuetaan tahmeiden artikkelien näyttämiseksi.

Muut arkistosivut (kuten luokkasivut, tunnistesivut, tekijäsivut ja päivämääräsivut) eivät voi näyttää kiinnitettyjä artikkeleita yläreunassa, vain oletusjärjestyksessä.

paljon tekemistä WordPressin kanssaSEOystävät, toivottavasti ratkaiset nämä ongelmat.

Kuinka saada WordPress-luokka/tunniste/tekijäsivu näyttämään tarttuvia artikkeleita?

Itse asiassa meidän tarvitsee vain viitata wp-includes/query.php:n kotisivun koodiin ja muokata sitä hieman niin, että arkistosivun yläreuna (kuten luokkasivu, välilehtisivu, tekijäsivu ja päivämääräsivu) ) voi myös näyttää ylimmän artikkelin.

WordPress Sticky artikkelikoodi

Ole hyvä ja laita seuraava koodi functions.php-tiedostoon nykyisen teemasi alle ▼

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

Tarraartikkelin koodin käyttöohjeet

1) Jos haluat arkistosivun näyttävän kaikki suosituimmat artikkelit, poista 11-43 koodiriviä.

2) Jos et halua näyttää pääartikkelia luokkasivulla, lisää riville 3 ▼

if(

Muokkaa muotoon ▼

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

3) Jos et halua näyttää pääartikkelia välilehtisivulla, paina ▼ rivillä 3

if(

muuttua:

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

4) Jos et halua, että kirjoittajasivulla näkyy ylin artikkeli, paina ▼ rivillä 3

if(

Muokkaa muotoon ▼

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

5) Jos et halua mukautetun luokkasivun näyttävän suosituinta artikkelia, aseta

if(

Vaihda se muotoon:

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

Yllä oleva koodi on voimassa vain pääsilmukassa, jos käytät WP_Query- tai query_posts-komentoa saadaksesi luettelon arkistosivun viesteistä ja haluat näyttää kiinnitetyn viestin näiden luetteloiden päällä.

Voit poistaa seuraavan koodin riviltä 3 (voi aiheuttaa näytettävien artikkelien määrän poikkeavan asettamasi määrästä) ▼

|| !is_main_query() 

Lisää tyyli ylimpään artikkeliin

Jos haluat lisätä tyylejä tarttuvaan viestiin, lisää seuraava koodi tiedostoon functions.php ja lisää luokka nimeltä sticky postaukseen.

Yleisissä WordPress-teemoissa suosituimmalle artikkelityylille tulee olemaan CSS-koodi, voit myös lisätä mukautetun ▼

//置顶文章添加样式
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 toinenkin tapa saada WordPress-luokka-arkistosivut näyttämään WordPress-artikkeleita yläreunassa▼

Hope Chen Weiliang -blogi ( https://www.chenweiliang.com/ ) jakoi "Kuinka saada WordPress-luokka/tunniste/tekijäsivu näyttämään tahmeita artikkeleita? , auttaa sinua.

Tervetuloa jakamaan tämän artikkelin linkki:https://www.chenweiliang.com/cwl-878.html

Tervetuloa Chen Weiliangin blogin Telegram-kanavalle saadaksesi viimeisimmät päivitykset!

🔔 Saat ensimmäisenä arvokkaan "ChatGPT Content Marketing AI Toolin käyttöoppaan" kanavan ylähakemistoon! 🌟
📚 Tämä opas sisältää valtavasti arvoa, 🌟Tämä on harvinainen tilaisuus, älä missaa sitä! ⏰⌛💨
Jaa ja tykkää jos tykkäät!
Jakamasi ja tykkäyksesi ovat jatkuva motivaatiomme!

 

发表 评论

Sähköpostiosoitettasi ei julkaista. 必填 项 已 用 * 标注

Vieritä ylös