Kepiye carane nggawe kaca kategori / tag / penulis WordPress nuduhake artikel lengket?

WordPressAna fungsi nempel artikel sing dibangun, nanging kanthi standar mung kaca ndhuwur sing didhukung kanggo nampilake artikel lengket.

Kaca arsip liyane (kayata kaca kategori, kaca tag, kaca pangarang, lan kaca tanggal) ora bisa nampilake artikel lengket ing ndhuwur, mung ing urutan standar.

akeh sing kudu dilakoni karo WordPressSEOkanca, ngarep-arep kanggo ngatasi masalah iki.

Kepiye carane nggawe kaca kategori / tag / penulis WordPress nuduhake artikel lengket?

Nyatane, kita mung kudu ngrujuk menyang kode saka kaca ngarep wp-includes/query.php lan ngowahi rada, supaya ndhuwur kaca arsip (kayata kaca kategori, kaca tab, kaca penulis lan kaca tanggal. ) uga bisa nampilake artikel ndhuwur.

Kode artikel lengket WordPress

Mangga lebokake kode ing ngisor iki ing file functions.php ing tema sampeyan saiki ▼

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

Pandhuan kanggo nggunakake kode artikel caket

1) Yen sampeyan pengin kaca arsip kanggo nampilake kabeh artikel ndhuwur, mangga mbusak 11-43 baris kode;

2) Yen sampeyan ora pengin nampilake artikel paling dhuwur ing kaca kategori, tambahake ▼ ing baris 3

if(

Owahi dadi ▼

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

3) Yen sampeyan ora pengin nampilake artikel ndhuwur ing kaca tab, mangga ▼ ing baris 3

if(

owah dadi:

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

4) Yen sampeyan ora pengin kaca penulis nampilake artikel paling dhuwur, mangga ▼ ing baris 3

if(

Owahi dadi ▼

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

5) Yen sampeyan ora pengin kaca kategori khusus kanggo nampilake artikel ndhuwur, sijine ing

if(

Ganti dadi:

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

Kode ing ndhuwur mung valid kanggo loop utama, yen sampeyan nggunakake WP_Query utawa query_posts kanggo entuk dhaptar kiriman ing kaca arsip, lan pengin nampilake kiriman sing dipasang ing ndhuwur dhaptar kasebut.

Sampeyan bisa mbusak kode ing ngisor iki ing baris 3 (bisa nyebabake jumlah artikel sing ditampilake beda karo sing sampeyan setel) ▼

|| !is_main_query() 

Tambah gaya ing artikel ndhuwur

Yen sampeyan pengin nambah gaya menyang postingan lengket, tambahake kode ing ngisor iki menyang functions.php lan tambahake kelas sing dijenengi lengket menyang postingan lengket.

Ing tema WordPress umum, bakal ana kode CSS kanggo gaya artikel ndhuwur, sampeyan uga bisa nambah adat ▼

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

Ana cara liya kanggo nggawe kaca arsip kategori WordPress nuduhake artikel WordPress ing ndhuwur▼

Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) bareng "Carane nggawe kaca kategori/tag/penulis WordPress nuduhake artikel lengket? , kanggo mbantu sampeyan.

Sugeng rawuh kanggo nuduhake link artikel iki:https://www.chenweiliang.com/cwl-878.html

Sugeng rawuh ing saluran Telegram blog Chen Weiliang kanggo entuk update paling anyar!

🔔 Dadi sing pertama entuk "Pandhuan Panggunaan Alat AI Pemasaran Konten ChatGPT" ing direktori ndhuwur saluran! 🌟
📚 Pandhuan iki ngemot nilai gedhe, 🌟Iki minangka kesempatan langka, aja kantun! ⏰⌛💨
Share lan seneng yen sampeyan seneng!
Nuduhake lan seneng sampeyan minangka motivasi terus-terusan!

 

komentar

Alamat email sampeyan ora bakal diterbitake. Bidhang sing dibutuhake digunakake * Panggilan

gulung menyang ndhuwur