Tusaha Maqaalka
WordPress wuxuu leeyahay astaamo ku dhex jira oo lagu dhejiyo qoraallada, laakiin si caadi ah waxay ku soo bandhigaysaa oo keliya qoraallada la dhejiyay bogga hore.
Bogagga kale ee kaydka (sida boggaga qaybta, boggaga tag, boggaga qoraaga, iyo bogga taariikhda) kama soo bandhigi karaan maqaallo dhegdheg ah xagga sare, kaliya siday u kala horreeyaan.
Dad badan oo WordPress u isticmaala SEO ayaa rajeynaya inay xalliyaan dhibaatooyinkan.

Dhab ahaantii, waxaan kaliya u baahanahay inaan tixraacno koodhka bogga guriga ee wp-includes/query.php oo aan wax yar ka beddelno, si sare ee bogga kaydka (sida bogga qaybta, bogga tab, bogga qoraaga iyo bogga taariikhda ) sidoo kale waxay soo bandhigi kartaa maqaalka ugu sarreeya.
Koodhka maqaalka dhegdheg ee WordPress
Fadlan geli koodka soo socda faylka functional.php mawduucaaga hadda ▼
//让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;
} Tilmaamaha isticmaalka koodka maqaalka dhejiska ah
1) Haddii aad rabto in bogga kaydku soo bandhigo dhammaan maqaallada ugu sarreeya, fadlan tirtir 11-43 khadadka koodka;
2) Haddii aadan rabin inaad ku muujiso maqaalka ugu sarreeya bogga qaybta, fadlan ku dar ▼ safka 3
if(
U beddelo ▼
// abc是分类的名称 if ( is_category( 'abc' ) ||
3) Haddii aadan rabin inaad ku muujiso maqaalka ugu sarreeya bogga tab, fadlan ▼ safka 3aad
if(
u beddel:
// abc是标签的名称
if ( is_tag( 'abc' ) ||
4) Haddii aadan rabin in bogga qoraagu soo bandhigo maqaalka ugu sarreeya, fadlan ▼ safka 3aad
if(
U beddelo ▼
// abc是作者的昵称
if ( is_author( 'abc' ) ||
5) Haddii aadan rabin bogga qaybta gaarka ah si aad u muujiso maqaalka ugu sarreeya, ku dheji
if(
U beddel:
// series是自定义分类、abc是自定义分类名称 if ( is_series( 'abc' ) ||
Koodhka sare waxa uu kaliya u shaqaynayaa loop-ka wayn, hadii aad isticmaalayso WP_Query ama query_posts si aad u hesho liis qoraalo ah oo ku yaal bogga kaydka, oo aad rabto in aad muujiso boostada ku dheggan liisaska sare.
Waxaad ku tirtiri kartaa koodka soo socda ee safka 3 (waxaa laga yaabaa inay keento tirada maqaallada la soo bandhigay inay ka duwan yihiin waxaad dejisay) ▼
|| !is_main_query()
Kudar qaabka maqaalka sare
Haddii aad rabto in aad qaabab ku darto boostada dhegdhegaysan, ku dar koodkan soo socda functional.php oo ku dar fasal magac leh oo dhegdheg leh.
Mawduucyada guud ee WordPress waxay yeelan doonaan koodka CSS ee qaabka maqaalka ugu sarreeya, waxaad sidoo kale ku dari kartaa caadada ▼
//置顶文章添加样式
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;
} - Saamaynta qaabka maqaalka sare ee bogga qaybta,Chen WeiliangQaybaha maqaalka blog:Nambarka gacanta ee Shiinaha
- (Mawduuca beddelku wuu dhacay)
Waxaa jira hab kale oo lagu sameeyo boggaga kaydka qaybta WordPress inay muujiyaan maqaallada WordPress ee ugu sarreeya▼
Waxaan rajeynayaa in maqaalka "Sida Loogu Soo Bandhigo Qoraallada La Xidhay ee WordPress Qaybta/Tag/Bogagga Qoraaga?" ee lagu wadaagay baloogga Chen Weiliang ( https://www.chenweiliang.com/ ) uu ku caawin doono.
Xor ayaad u tahay inaad la wadaagto xiriirkan maqaalka: https://www.chenweiliang.com/cwl-878.html
