Maitiro ekugadzira WordPress chikamu / tag / munyori peji kuratidza zvinonamira zvinyorwa?

WordPressPane yakavakirwa-mukati chinyorwa chinonamira basa, asi nekukasira chete peji repamusoro rinotsigirwa kuratidza zvinonamira zvinyorwa.

Mamwe mapeji ekuchengetera (akadai sechikamu mapeji, tag mapeji, vanyori mapeji, uye date mapeji) haagone kuratidza zvinonamira zvinyorwa kumusoro, chete mune yakasarudzika.

zvakawanda zvekuita neWordPressSEOshamwari, tarisira kugadzirisa matambudziko aya.

Maitiro ekugadzira WordPress chikamu / tag / munyori peji kuratidza zvinonamira zvinyorwa?

Muchokwadi, isu tinongoda kunongedzera kune kodhi yepeji yeimba ye wp-includes/query.php uye kuigadzirisa zvishoma, kuitira kuti kumusoro kweiyo archive peji (yakadai sechikamu peji, peji peji, peji remunyori uye peji remazuva. ) inogonawo kuratidza chinyorwa chepamusoro.

WordPress inonamira chinyorwa kodhi

Ndapota isa kodhi inotevera mumabasa.php faira pasi pemusoro wako wezvino ▼

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

Mirayiridzo yekushandisa kodhi yechinyorwa chinonamira

1) Kana iwe uchida kuti peji rekuchengetedza riratidze zvinyorwa zvose zvepamusoro, tapota bvisa mitsara ye11-43 yekodhi;

2) Kana iwe usingade kuratidza chinyorwa chepamusoro pane peji peji, ndapota wedzera ▼ mumutsetse 3.

if(

Shandura ku ▼

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

3) Kana iwe usingade kuratidza chinyorwa chepamusoro pane iyo tab peji, ndapota ▼ mumutsetse 3

if(

shanduko kuita:

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

4) Kana iwe usingade peji remunyori kuratidza chinyorwa chepamusoro, ndapota ▼ mumutsetse 3

if(

Shandura ku ▼

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

5) Kana iwe usingade peji rechikamu peji kuratidza chinyorwa chepamusoro, isa iyo

if(

Chinja kuti:

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

Kodhi iri pamusoro inongoshanda kune main loop, kana uri kushandisa WP_Query kana query_posts kuti uwane runyoro rwezvatumirwa pane peji rekuchengetedza, uye uchida kuratidza iyo yakapiniwa positi pamusoro peiyo rondedzero.

Unogona kudzima kodhi inotevera mumutsara 3 (zvinogona kukonzera kuti nhamba yezvinyorwa zvinoratidzwa siyana nezvawakaseta) ▼

|| !is_main_query() 

Wedzera chimiro kune chinyorwa chepamusoro

Kana iwe uchida kuwedzera masitayera kune inonamira positi, wedzera iyo inotevera kodhi ku function.php uye wedzera kirasi inonzi inonamira kune inonamira positi.

General WordPress themes ichave neCSS kodhi yemhando yepamusoro chinyorwa, unogona zvakare kuwedzera tsika ▼

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

Pane imwe nzira yekugadzira WordPress chikamu chekuchengetedza mapeji anoratidza WordPress zvinyorwa kumusoro▼

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) yakagovaniswa "Maitiro ekuita WordPress chikamu/tag/munyori peji kuratidza zvinonamira zvinyorwa? , kukubatsira.

Welcome to share link yechinyorwa chino:https://www.chenweiliang.com/cwl-878.html

Tikugashirei kuTeregiramu chiteshi cheChen Weiliang's blog kuti uwane zvichangobva kuitika!

🔔 Iva wekutanga kuwana yakakosha "ChatGPT Yemukati Yekushambadzira AI Chishandiso Chekushandisa Guide" muchiteshi chepamusoro dhairekitori! 🌟
📚 Iri gwara rine kukosha kukuru, 🌟Uyu mukana usingawanzo, usapotsa! ⏰⌛💨
Govera uye like kana uchida!
Kugovera kwako uye kuda ndiko kukurudzira kwedu kunoramba kuripo!

 

发表 评论

Kero yako yeemail haizoburitswe. Minda inodiwa inoshandiswa * Chitaera

skrorukira kumusoro