Чӣ тавр категорияи/тег/саҳифаи муаллифи WordPress-ро мақолаҳои часпанда нишон додан мумкин аст?

WordPressФунксияи дарунсохтаи мақола мавҷуд аст, аммо бо нобаёнӣ танҳо саҳифаи боло барои намоиши мақолаҳои часпанда дастгирӣ мешавад.

Саҳифаҳои бойгонии дигар (ба монанди саҳифаҳои категория, саҳифаҳои тегҳо, саҳифаҳои муаллиф ва саҳифаҳои сана) мақолаҳои pinned дар болоро намоиш дода наметавонанд, танҳо бо тартиби пешфарз.

бисёр кор бо WordPressSEOрафикон, умедворем, ки ин масъалахо хал карда шаванд.

Чӣ тавр категорияи/тег/саҳифаи муаллифи WordPress-ро мақолаҳои часпанда нишон додан мумкин аст?

Дар асл, мо бояд танҳо ба рамзи саҳифаи асосии wp-includes/query.php муроҷиат кунем ва онро каме тағир диҳем, то дар болои саҳифаи бойгонӣ (ба монанди саҳифаи категория, саҳифаи ҷадвал, саҳифаи муаллиф ва саҳифаи сана) ) инчунин метавонад мақолаи болоро нишон диҳад.

Кодекси мақолаи часпанда WordPress

Лутфан рамзи зеринро дар файли 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 илова кунед ва ба пости часпанда синф бо номи часпанда илова кунед.

Дар маҷмӯъ мавзӯъҳои WordPress, рамзи 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;
} 
  • Таъсири услуби мақолаи болоии саҳифаи категория,Чен ВейлянКатегорияҳои мақолаҳои блог:Рақами мобилии Чин
  • (Мӯҳлати тағир додани мавзӯъ ба охир расид)

Роҳи дигаре вуҷуд дорад, ки саҳифаҳои бойгонии категорияи WordPress мақолаҳои WordPress-ро дар боло нишон диҳанд▼

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "Чӣ гуна бояд категорияи/тег/саҳифаи муаллифи WordPress-ро мақолаҳои часпанда нишон диҳад? , барои кӯмак ба шумо.

Хуш омадед ба мубодилаи истиноди ин мақола:https://www.chenweiliang.com/cwl-878.html

Хуш омадед ба канали Telegram блоги Чен Вейлян барои гирифтани навсозиҳои охирин!

🔔 Аввалин шуда дар феҳристи болоии канал "Дастури истифодаи абзори AI-и ChatGPT Content Marketing" -ро гиред! 🌟
📚 Ин дастур дорои арзиши бузург аст, 🌟Ин як имконияти нодир аст, онро аз даст надиҳед! ⏰⌛💨
Агар ба шумо маъқул бошад, мубодила кунед ва лайк монед!
Мубодилаи шумо ва лайкҳои шумо ангезаи доимии мост!

 

发表 评论

Суроғаи почтаи электронии шумо нашр карда намешавад. 必填 项 已 用 * Нишон

ба боло ҳаракат кунед