Yuav ua li cas WordPress qeb / tag / nplooj ntawv sau qhia cov ntawv nplaum?

WordPressMuaj ib txoj hauv kev ua cov ntawv nplaum ua haujlwm, tab sis los ntawm lub neej ntawd tsuas yog nplooj ntawv saum toj kawg nkaus tau txais kev txhawb nqa los tso saib cov ntawv nplaum.

Lwm cov nplooj ntawv khaws cia (xws li nplooj ntawv qeb, nplooj ntawv tag, nplooj ntawv sau, thiab nplooj ntawv hnub tim) tsis tuaj yeem tso cov ntawv nplaum rau saum toj, tsuas yog nyob rau hauv qhov kev txiav txim qub.

ntau ua nrog WordPressSEOphooj ywg, vam tias yuav daws tau tej teeb meem no.

Yuav ua li cas WordPress qeb / tag / nplooj ntawv sau qhia cov ntawv nplaum?

Qhov tseeb, peb tsuas yog yuav tsum xa mus rau cov cai ntawm nplooj ntawv home page ntawm wp-includes/query.php thiab hloov nws me ntsis, kom sab saum toj ntawm nplooj ntawv archive (xws li nplooj ntawv qeb, nplooj ntawv tab, nplooj ntawv sau thiab nplooj ntawv hnub tim. ) kuj tuaj yeem tso saib cov kab lus saum toj kawg nkaus.

WordPress nplaum kab lus code

Thov tso cov cai hauv qab no rau hauv cov ntaub ntawv functions.php hauv qab koj lub ntsiab lus tam sim no ▼

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

Cov lus qhia rau kev siv cov cai ntawm cov ntawv nplaum

1) Yog tias koj xav kom cov nplooj ntawv archive tso saib tag nrho cov lus saum toj kawg nkaus, thov tshem tawm 11-43 kab ntawm cov cai;

2) Yog tias koj tsis xav tso cov lus saum toj kawg nkaus ntawm nplooj ntawv qeb, thov ntxiv ▼ hauv kab 3

if(

Hloov mus rau ▼

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

3) Yog tias koj tsis xav tso cov lus saum toj kawg nkaus ntawm nplooj ntawv tab, thov ▼ hauv kab 3

if(

hloov mus rau hauv:

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

4) Yog tias koj tsis xav kom tus sau nplooj ntawv los tso saib cov lus saum toj kawg nkaus, thov ▼ hauv kab 3

if(

Hloov mus rau ▼

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

5) Yog tias koj tsis xav tau ib nplooj ntawv kev cai qeb los tso saib cov tshooj saum toj kawg nkaus, muab tso rau

if(

Hloov nws mus rau:

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

Cov cai saum toj no tsuas yog siv tau rau lub voj tseem ceeb, yog tias koj siv WP_Query lossis query_posts kom tau txais cov npe ntawm cov ntawv tshaj tawm ntawm nplooj ntawv archive, thiab xav kom pom cov ntawv pinned rau saum cov npe.

Koj tuaj yeem rho tawm cov cai hauv qab no hauv kab 3 (tej zaum yuav ua rau muaj pes tsawg ntawm cov khoom tso tawm txawv ntawm qhov koj tau teeb tsa) ▼

|| !is_main_query() 

Ntxiv style rau cov lus saum toj kawg nkaus

Yog tias koj xav ntxiv cov qauv rau cov ntawv nplaum, ntxiv cov lej hauv qab no rau functions.php thiab ntxiv cov chav kawm uas muaj npe nplaum rau cov ntawv nplaum.

Hauv cov ntsiab lus WordPress feem ntau, yuav muaj CSS code rau cov kab lus saum toj kawg nkaus, koj tuaj yeem ntxiv kev cai ▼

//置顶文章添加样式
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;
} 
  • Sab saum toj tsab xov xwm style nyhuv ntawm qeb nplooj ntawv,Chen WeiliangCategories ntawm Blog:Suav xov tooj
  • (Hloov lub ntsiab tau tas sij hawm)

Muaj lwm txoj hauv kev los ua WordPress qeb archive nplooj ntawv qhia WordPress cov lus nyob rau saum ▼

Cia siab Chen Weiliang Blog ( https://www.chenweiliang.com/ ) tau qhia "Yuav ua li cas kom WordPress qeb / tag / tus sau nplooj ntawv qhia cov ntawv nplaum? , pab koj.

Zoo siab txais tos los qhia qhov txuas ntawm kab lus no:https://www.chenweiliang.com/cwl-878.html

Zoo siab txais tos rau Telegram channel ntawm Chen Weiliang blog kom tau txais qhov hloov tshiab tshiab!

🔔 Ua thawj tus tau txais txiaj ntsig "ChatGPT Content Marketing AI Tool Usage Guide" hauv cov npe saum toj kawg nkaus channel! 🌟 ib
📚 Daim ntawv qhia no muaj nuj nqis loj, 🌟Qhov no yog lub sijhawm tsis tshua muaj, tsis txhob nco nws! ⏰⌛💨
Share thiab like yog tias koj nyiam!
Koj qhov kev sib koom thiab kev nyiam yog peb qhov kev txhawb nqa tas mus li!

 

评论 评论

Koj email chaw nyob yuav tsis tsum luam tawm. Yuav tsum tau siv cov liaj teb * Ntaus Cim

scroll rau saum