Kumaha carana ngadamel kategori / tag / pangarang halaman WordPress nunjukkeun tulisan caket?

WordPressAya fungsi nempel artikel anu diwangun, tapi sacara standar ngan ukur halaman luhur anu dirojong pikeun ningalikeun tulisan anu caket.

Kaca arsip séjén (saperti kaca kategori, kaca tag, kaca pangarang, jeung kaca tanggal) teu bisa nembongkeun artikel disematkeun di luhur, ngan dina urutan standar.

loba ngalakonan jeung WordPressSEObabaturan, miharep pikeun ngajawab masalah ieu.

Kumaha carana ngadamel kategori / tag / pangarang halaman WordPress nunjukkeun tulisan caket?

Nyatana, urang ngan ukur kedah ngarujuk kana kode halaman bumi wp-includes/query.php sareng rada ngaropea, supados luhureun halaman arsip (sapertos halaman kategori, halaman tab, halaman panulis sareng halaman tanggal. ) ogé bisa mintonkeun artikel luhur.

Kode Artikel caket WordPress

Punten lebetkeun kodeu ieu dina file functions.php dina téma anjeun ayeuna ▼

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

Parentah pikeun ngagunakeun kode artikel caket

1) Upami anjeun hoyong halaman arsip nampilkeun sadaya tulisan anu paling luhur, mangga pupus 11-43 baris kode;

2) Upami anjeun henteu hoyong ningalikeun tulisan anu paling luhur dina kaca kategori, mangga tambihan ▼ dina baris 3

if(

Robah jadi ▼

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

3) Upami anjeun henteu hoyong ningalikeun tulisan anu paling luhur dina halaman tab, mangga ▼ dina baris 3

if(

robah jadi:

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

4) Upami anjeun henteu hoyong halaman pangarang nampilkeun tulisan anu paling luhur, mangga ▼ dina baris 3

if(

Robah jadi ▼

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

5) Upami anjeun henteu hoyong halaman kategori khusus pikeun nampilkeun tulisan anu paling luhur, pasang éta

if(

Ganti kana:

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

Kodeu di luhur ngan ukur valid pikeun loop utama, upami anjeun nganggo WP_Query atanapi query_posts pikeun kéngingkeun daptar tulisan dina halaman arsip, sareng hoyong nampilkeun tulisan anu disematkeun di luhur daptar éta.

Anjeun tiasa ngahapus kodeu di handap ieu dina baris 3 (bisa nyababkeun jumlah artikel anu ditampilkeun béda sareng anu anjeun setel) ▼

|| !is_main_query() 

Tambahkeun gaya kana artikel luhur

Upami anjeun hoyong nambihan gaya kana tulisan caket, tambahkeun kodeu di handap ieu kana functions.php sareng tambahkeun kelas anu namina caket kana tulisan caket.

Téma WordPress umum bakal gaduh kode CSS tina gaya artikel luhur, anjeun ogé tiasa nambihan ▼ khusus

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

Aya deui cara pikeun ngajantenkeun halaman arsip kategori WordPress nunjukkeun artikel WordPress di luhur▼

Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) dibagikeun "Kumaha carana sangkan WordPress kategori / tag / kaca pangarang némbongkeun artikel caket? , pikeun mantuan Anjeun.

Wilujeng ngabagikeun tautan artikel ieu:https://www.chenweiliang.com/cwl-878.html

Wilujeng sumping di saluran Telegram blog Chen Weiliang pikeun kéngingkeun apdet panganyarna!

🔔 Janten anu pangheulana kéngingkeun "Panduan Penggunaan Alat AI Pemasaran Konten ChatGPT" dina diréktori luhur saluran! 🌟
📚 Pituduh ieu ngandung nilai anu ageung, 🌟Ieu mangrupikeun kasempetan anu jarang, tong kantun! ⏰⌛💨
Bagikeun sareng suka upami anjeun resep!
Bagikeun sareng resep anjeun mangrupikeun motivasi kontinyu kami!

 

koméntar

Alamat email anjeun moal diterbitkeun. Widang anu diperyogikeun dianggo * Labél

gulung ka luhur