Ungasenza kanjani isigaba se-WordPress / ithegi / ikhasi lombhali libonise izindatshana ezinamathelayo?

WordPressKunomsebenzi wokunamathela owakhelwe ngaphakathi, kodwa ngokuzenzakalelayo yikhasi eliphezulu kuphela elisekelwayo ukuze kuboniswe izindatshana ezinamathelayo.

Amanye amakhasi engobo yomlando (njengamakhasi esigaba, amakhasi omaka, amakhasi ombhali, namakhasi edethi) awakwazi ukubonisa izindatshana ezinamathelayo phezulu, ngohlelo oluzenzakalelayo kuphela.

kuningi ongakwenza nge-WordPressSEObangane, nethemba lokuxazulula lezi zinkinga.

Ungasenza kanjani isigaba se-WordPress / ithegi / ikhasi lombhali libonise izindatshana ezinamathelayo?

Eqinisweni, sidinga kuphela ukubhekisela kukhodi yekhasi lasekhaya le-wp-includes/query.php futhi siyiguqule kancane, ukuze phezulu kwekhasi lengobo yomlando (njengekhasi lesigaba, ikhasi lethebhu, ikhasi lomlobi kanye nekhasi losuku. ) ingaphinda ibonise isihloko esiphezulu.

Ikhodi ye-athikili enamathelayo ye-WordPress

Sicela ufake ikhodi elandelayo efayeleni lemisebenzi.php ngaphansi kwetimu yakho yamanje ▼

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

Imiyalelo yokusebenzisa ikhodi ye-athikili enamathelayo

1) Uma ufuna ikhasi lengobo yomlando ukuthi libonise zonke izindatshana eziphezulu, sicela ususe imigqa yekhodi engu-11-43;

2) Uma ungafuni ukuveza isihloko esiphezulu ekhasini lesigaba, sicela wengeze ▼ kulayini 3

if(

Lungisa ukuze ▼

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

3) Uma ungafuni ukuveza isihloko esiphezulu ekhasini lethebhu, sicela ▼ kulayini 3

if(

shintshela ku:

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

4) Uma ungafuni ukuthi ikhasi lombhali libonise isihloko esiphezulu, sicela ▼ kulayini 3

if(

Lungisa ukuze ▼

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

5) Uma ungafuni ikhasi lesigaba sangokwezifiso ukuze libonise isihloko esiphezulu, faka i

if(

Ishintshe ithi:

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

Ikhodi engenhla ivumeleke ku-loop eyinhloko kuphela, uma usebenzisa i-WP_Query noma i-query_posts ukuze uthole uhlu lokuthunyelwe ekhasini lengobo yomlando, futhi ufuna ukubonisa okuthunyelwe okuphiniwe phezu kwalolo hlu.

Ungasusa ikhodi elandelayo kulayini 3 (kungase kubangele inani lama-athikili abonisiwe ukuthi ahluke kulokho okusethayo) ▼

|| !is_main_query() 

Engeza isitayela esihlokweni esiphezulu

Uma ufuna ukwengeza izitayela kokuthunyelwe okunamathelayo, engeza ikhodi elandelayo ku-functions.php futhi wengeze ikilasi eliqanjwe ukuthi liyanamathela kokuthunyelwe okunamathelayo.

Ngokwezindikimba ezijwayelekile ze-WordPress, kuzoba nekhodi ye-CSS yesitayela se-athikili ephezulu, futhi ungangeza inkambiso ▼

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

Kukhona enye indlela yokwenza amakhasi ezingobo zomlando wesigaba se-WordPress abonise izindatshana ze-WordPress phezulu▼

I-Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) kwabiwe "Ungawenza kanjani isigaba se-WordPress isigaba/umaka/ikhasi lombhali libonise izindatshana ezinamathelayo? , ukukusiza.

Siyakwamukela ukwabelana ngesixhumanisi salesi sihloko:https://www.chenweiliang.com/cwl-878.html

Uyemukelwa esiteshini seTelegram sebhulogi ka-Chen Weiliang ukuze uthole izibuyekezo zakamuva!

🔔 Iba ngowokuqala ukuthola "I-ChatGPT Content Marketing AI Tool Usage Guide" ohlwini lwemibhalo ephezulu yesiteshi! 🌟
📚 Lo mhlahlandlela uqukethe inani elikhulu, 🌟Leli ithuba eliyivelakancane, ungaphuthelwa! ⏰⌛💨
Yabelana futhi uthanda uma uthanda!
Ukwabelana kwakho nokuthanda kwakho kuyisisusa sethu esiqhubekayo!

 

发表 评论

Ikheli lakho le-imeyili ngeke lishicilelwe. 必填 项 已 用 * Ilebula

pheqela phezulu