WordPress kateqoriya/teq/müəllif səhifəsində yapışqan məqalələri necə göstərmək olar?

WordPressDaxili məqalə yapışdırmaq funksiyası var, lakin standart olaraq yapışqan məqalələri göstərmək üçün yalnız yuxarı səhifə dəstəklənir.

Digər arxiv səhifələri (məsələn, kateqoriya səhifələri, etiket səhifələri, müəllif səhifələri və tarix səhifələri) yuxarıda yapışqan məqalələri göstərə bilməz, yalnız standart qaydada.

WordPress ilə çox şeySEOdostlar, inşallah bu problemləri həll edərik.

WordPress kateqoriya/teq/müəllif səhifəsində yapışqan məqalələri necə göstərmək olar?

Əslində, biz yalnız wp-includes/query.php ana səhifəsinin koduna müraciət etməliyik və onu bir qədər dəyişdirməliyik ki, arxiv səhifəsinin yuxarı hissəsi (məsələn, kateqoriya səhifəsi, nişan səhifəsi, müəllif səhifəsi və tarix səhifəsi kimi) ) yuxarıdakı məqaləni də göstərə bilər.

WordPress yapışqan məqalə kodu

Zəhmət olmasa aşağıdakı kodu cari temanızın altındakı functions.php faylına qoyun ▼

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

Yapışqan məqalənin kodundan istifadə qaydaları

1) Arxiv səhifəsinin bütün ən yaxşı məqalələri göstərməsini istəyirsinizsə, lütfən, 11-43 sətir kodunu silin;

2) Kateqoriya səhifəsində ən yaxşı məqaləni göstərmək istəmirsinizsə, zəhmət olmasa 3-cü sətirə ▼ əlavə edin

if(

▼ olaraq dəyişdirin

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

3) Əgər üst məqaləni tab səhifəsində göstərmək istəmirsinizsə, zəhmət olmasa 3-cü sətirdə ▼ işarəsi qoyun

if(

dəyişdirmək:

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

4) Müəllif səhifəsinin yuxarıdakı məqaləni göstərməsini istəmirsinizsə, zəhmət olmasa 3-cü sətirdə ▼ işarəsi qoyun

if(

▼ olaraq dəyişdirin

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

5) Xüsusi kateqoriya səhifəsinin üst məqaləni göstərməsini istəmirsinizsə, qoyun

if(

Onu dəyişdirin:

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

Arxiv səhifəsində yazıların siyahısını əldə etmək üçün WP_Query və ya query_posts istifadə edirsinizsə və bərkidilmiş postu həmin siyahıların üstündə göstərmək istəyirsinizsə, yuxarıdakı kod yalnız əsas dövrə üçün etibarlıdır.

Siz 3-cü sətirdə aşağıdakı kodu silə bilərsiniz (göstərilən məqalələrin sayı təyin etdiyinizdən fərqli ola bilər) ▼

|| !is_main_query() 

Üst məqaləyə üslub əlavə edin

Yapışqan yazıya üslub əlavə etmək istəyirsinizsə, functions.php-ə aşağıdakı kodu əlavə edin və yapışqan yazıya sticky adlı bir sinif əlavə edin.

Ümumi WordPress mövzularında ən yaxşı məqalə üslubu üçün CSS kodu olacaq, siz həmçinin xüsusi ▼ əlavə edə bilərsiniz

//置顶文章添加样式
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;
} 
  • Kateqoriya səhifəsinin ən yaxşı məqalə tərzi effekti,Chen WeiliangBloq məqalə kateqoriyaları:Çin mobil nömrəsi
  • (Mövzunun dəyişdirilməsinin vaxtı bitib)

WordPress kateqoriya arxiv səhifələrində WordPress məqalələrini yuxarıda göstərməyin başqa bir yolu var▼

Hope Chen Weiliang Blogu ( https://www.chenweiliang.com/ ) paylaşılan "WordPress kateqoriyası/teq/müəllif səhifəsi yapışqan məqalələri necə göstərmək olar? , sənə kömək etmək.

Bu məqalənin linkini paylaşmağa xoş gəlmisiniz:https://www.chenweiliang.com/cwl-878.html

Ən son yenilikləri əldə etmək üçün Chen Weiliang bloqunun Telegram kanalına xoş gəlmisiniz!

🔔 Kanalın ən yaxşı kataloqunda dəyərli "ChatGPT Məzmun Marketinq AI Aləti İstifadə Bələdçisi"ni ilk əldə edən siz olun! 🌟
📚 Bu təlimatda böyük dəyər var, 🌟Bu nadir fürsətdir, qaçırmayın! ⏰⌛💨
Bəyəndinizsə paylaşın və bəyənin!
Paylaşımlarınız və bəyənmələriniz davamlı motivasiyamızdır!

 

发表 评论

Elektron poçtunuz dərc olunmayacaq. Zəruri sahələrdən istifadə olunur * Etiket

yuxarıya sürüşdürün