ਵਰਡਪਰੈਸ ਸ਼੍ਰੇਣੀ/ਟੈਗ/ਲੇਖਕ ਪੰਨੇ ਨੂੰ ਸਟਿੱਕੀ ਲੇਖਾਂ ਨੂੰ ਕਿਵੇਂ ਬਣਾਇਆ ਜਾਵੇ?

ਵਰਡਪਰੈਸਇੱਥੇ ਇੱਕ ਬਿਲਟ-ਇਨ ਆਰਟੀਕਲ ਸਟਿੱਕਿੰਗ ਫੰਕਸ਼ਨ ਹੈ, ਪਰ ਡਿਫੌਲਟ ਰੂਪ ਵਿੱਚ ਸਟਿੱਕੀ ਲੇਖਾਂ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਲਈ ਸਿਰਫ ਉੱਪਰਲਾ ਪੰਨਾ ਸਮਰਥਿਤ ਹੈ।

ਹੋਰ ਪੁਰਾਲੇਖ ਪੰਨੇ (ਜਿਵੇਂ ਕਿ ਸ਼੍ਰੇਣੀ ਪੰਨੇ, ਟੈਗ ਪੰਨੇ, ਲੇਖਕ ਪੰਨੇ, ਅਤੇ ਮਿਤੀ ਪੰਨੇ) ਸਿਰਫ਼ ਡਿਫੌਲਟ ਕ੍ਰਮ ਵਿੱਚ, ਸਿਖਰ 'ਤੇ ਸਟਿੱਕੀ ਲੇਖਾਂ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਨਹੀਂ ਕਰ ਸਕਦੇ ਹਨ।

ਵਰਡਪਰੈਸ ਨਾਲ ਬਹੁਤ ਕੁਝ ਕਰਨਾ ਹੈSEOਦੋਸਤੋ, ਇਹਨਾਂ ਸਮੱਸਿਆਵਾਂ ਦੇ ਹੱਲ ਦੀ ਉਮੀਦ ਹੈ।

ਵਰਡਪਰੈਸ ਸ਼੍ਰੇਣੀ/ਟੈਗ/ਲੇਖਕ ਪੰਨੇ ਨੂੰ ਸਟਿੱਕੀ ਲੇਖਾਂ ਨੂੰ ਕਿਵੇਂ ਬਣਾਇਆ ਜਾਵੇ?

ਵਾਸਤਵ ਵਿੱਚ, ਸਾਨੂੰ ਸਿਰਫ wp-includes/query.php ਦੇ ਹੋਮ ਪੇਜ ਦੇ ਕੋਡ ਦਾ ਹਵਾਲਾ ਦੇਣ ਦੀ ਲੋੜ ਹੈ ਅਤੇ ਇਸਨੂੰ ਥੋੜ੍ਹਾ ਜਿਹਾ ਸੋਧਣਾ ਚਾਹੀਦਾ ਹੈ, ਤਾਂ ਜੋ ਆਰਕਾਈਵ ਪੰਨੇ ਦੇ ਸਿਖਰ (ਜਿਵੇਂ ਕਿ ਸ਼੍ਰੇਣੀ ਪੰਨਾ, ਟੈਬ ਪੰਨਾ, ਲੇਖਕ ਪੰਨਾ ਅਤੇ ਮਿਤੀ ਪੰਨਾ. ) ਸਿਖਰਲੇ ਲੇਖ ਨੂੰ ਵੀ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰ ਸਕਦਾ ਹੈ।

ਵਰਡਪਰੈਸ ਸਟਿੱਕੀ ਲੇਖ ਕੋਡ

ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੀ ਮੌਜੂਦਾ ਥੀਮ ▼ ਦੇ ਤਹਿਤ functions.php ਫਾਈਲ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡ ਨੂੰ ਪਾਓ

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

ਸਟਿੱਕੀ ਲੇਖ ਦੇ ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਨਿਰਦੇਸ਼

1) ਜੇਕਰ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਆਰਕਾਈਵ ਪੰਨਾ ਸਾਰੇ ਪ੍ਰਮੁੱਖ ਲੇਖਾਂ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੇ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਕੋਡ ਦੀਆਂ 11-43 ਲਾਈਨਾਂ ਨੂੰ ਮਿਟਾਓ;

2) ਜੇਕਰ ਤੁਸੀਂ ਸ਼੍ਰੇਣੀ ਪੰਨੇ 'ਤੇ ਸਿਖਰਲੇ ਲੇਖ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਨਹੀਂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਲਾਈਨ 3 ਵਿੱਚ ▼ ਸ਼ਾਮਲ ਕਰੋ।

if(

▼ ਵਿੱਚ ਸੋਧੋ

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

3) ਜੇਕਰ ਤੁਸੀਂ ਟੈਬ ਪੰਨੇ 'ਤੇ ਸਿਖਰਲੇ ਲੇਖ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਨਹੀਂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਲਾਈਨ 3 ਵਿੱਚ ▼

if(

ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ:

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

4) ਜੇਕਰ ਤੁਸੀਂ ਨਹੀਂ ਚਾਹੁੰਦੇ ਕਿ ਲੇਖਕ ਪੰਨਾ ਸਿਖਰਲੇ ਲੇਖ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੇ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਲਾਈਨ 3 ਵਿੱਚ ▼ ਦਿਓ

if(

▼ ਵਿੱਚ ਸੋਧੋ

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

5) ਜੇਕਰ ਤੁਸੀਂ ਨਹੀਂ ਚਾਹੁੰਦੇ ਕਿ ਇੱਕ ਕਸਟਮ ਸ਼੍ਰੇਣੀ ਪੰਨਾ ਚੋਟੀ ਦੇ ਲੇਖ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੇ, ਤਾਂ ਪਾਓ

if(

ਇਸਨੂੰ ਇਸ ਵਿੱਚ ਬਦਲੋ:

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

ਉਪਰੋਕਤ ਕੋਡ ਸਿਰਫ਼ ਮੁੱਖ ਲੂਪ ਲਈ ਵੈਧ ਹੈ, ਜੇਕਰ ਤੁਸੀਂ ਪੁਰਾਲੇਖ ਪੰਨੇ 'ਤੇ ਪੋਸਟਾਂ ਦੀ ਸੂਚੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ WP_Query ਜਾਂ query_posts ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ, ਅਤੇ ਉਹਨਾਂ ਸੂਚੀਆਂ ਦੇ ਸਿਖਰ 'ਤੇ ਪਿੰਨ ਕੀਤੀ ਪੋਸਟ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।

ਤੁਸੀਂ ਲਾਈਨ 3 ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡ ਨੂੰ ਮਿਟਾ ਸਕਦੇ ਹੋ (ਇਸ ਨਾਲ ਪ੍ਰਦਰਸ਼ਿਤ ਲੇਖਾਂ ਦੀ ਗਿਣਤੀ ਤੁਹਾਡੇ ਦੁਆਰਾ ਸੈੱਟ ਕੀਤੇ ਗਏ ਨਾਲੋਂ ਵੱਖ ਹੋ ਸਕਦੀ ਹੈ) ▼

|| !is_main_query() 

ਸਿਖਰਲੇ ਲੇਖ ਵਿੱਚ ਸ਼ੈਲੀ ਸ਼ਾਮਲ ਕਰੋ

ਜੇਕਰ ਤੁਸੀਂ ਸਟਿੱਕੀ ਪੋਸਟ ਵਿੱਚ ਸਟਾਈਲ ਜੋੜਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਹੇਠ ਦਿੱਤੇ ਕੋਡ ਨੂੰ functions.php ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ ਅਤੇ ਸਟਿੱਕੀ ਪੋਸਟ ਵਿੱਚ ਸਟਿੱਕੀ ਨਾਮ ਦੀ ਕਲਾਸ ਸ਼ਾਮਲ ਕਰੋ।

ਜਨਰਲ ਵਰਡਪਰੈਸ ਥੀਮ ਵਿੱਚ ਚੋਟੀ ਦੇ ਲੇਖ ਸ਼ੈਲੀ ਦਾ CSS ਕੋਡ ਹੋਵੇਗਾ, ਤੁਸੀਂ ਕਸਟਮ ▼ ਵੀ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ

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

ਵਰਡਪਰੈਸ ਸ਼੍ਰੇਣੀ ਆਰਕਾਈਵ ਪੰਨਿਆਂ ਨੂੰ ਸਿਖਰ 'ਤੇ ਵਰਡਪਰੈਸ ਲੇਖ ਦਿਖਾਉਣ ਦਾ ਇੱਕ ਹੋਰ ਤਰੀਕਾ ਹੈ▼

ਹੋਪ ਚੇਨ ਵੇਇਲਿਯਾਂਗ ਬਲੌਗ ( https://www.chenweiliang.com/ ) ਨੇ ਸਾਂਝਾ ਕੀਤਾ "ਵਰਡਪਰੈਸ ਸ਼੍ਰੇਣੀ/ਟੈਗ/ਲੇਖਕ ਪੰਨੇ ਨੂੰ ਸਟਿੱਕੀ ਲੇਖਾਂ ਨੂੰ ਕਿਵੇਂ ਬਣਾਇਆ ਜਾਵੇ? , ਤੁਹਾਡੀ ਮਦਦ ਕਰਨ ਲਈ।

ਇਸ ਲੇਖ ਦਾ ਲਿੰਕ ਸਾਂਝਾ ਕਰਨ ਲਈ ਸੁਆਗਤ ਹੈ:https://www.chenweiliang.com/cwl-878.html

ਨਵੀਨਤਮ ਅਪਡੇਟਸ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਚੇਨ ਵੇਇਲਿਯਾਂਗ ਦੇ ਬਲੌਗ ਦੇ ਟੈਲੀਗ੍ਰਾਮ ਚੈਨਲ ਵਿੱਚ ਸੁਆਗਤ ਹੈ!

🔔 ਚੈਨਲ ਦੀ ਚੋਟੀ ਦੀ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਕੀਮਤੀ "ChatGPT ਸਮੱਗਰੀ ਮਾਰਕੀਟਿੰਗ AI ਟੂਲ ਵਰਤੋਂ ਗਾਈਡ" ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੇ ਪਹਿਲੇ ਬਣੋ! 🌟
📚 ਇਸ ਗਾਈਡ ਵਿੱਚ ਬਹੁਤ ਵੱਡਾ ਮੁੱਲ ਹੈ, 🌟ਇਹ ਇੱਕ ਦੁਰਲੱਭ ਮੌਕਾ ਹੈ, ਇਸ ਨੂੰ ਨਾ ਗੁਆਓ! ⏰⌛💨
ਜੇ ਚੰਗਾ ਲੱਗੇ ਤਾਂ ਸ਼ੇਅਰ ਅਤੇ ਲਾਈਕ ਕਰੋ!
ਤੁਹਾਡੀ ਸ਼ੇਅਰਿੰਗ ਅਤੇ ਪਸੰਦ ਸਾਡੀ ਨਿਰੰਤਰ ਪ੍ਰੇਰਣਾ ਹਨ!

 

ਇੱਕ ਟਿੱਪਣੀ ਪੋਸਟ

ਤੁਹਾਡਾ ਈਮੇਲ ਪਤਾ ਪ੍ਰਕਾਸ਼ਤ ਨਹੀ ਕੀਤਾ ਜਾਵੇਗਾ. ਲੋੜੀਂਦੇ ਖੇਤਰ ਵਰਤੇ ਜਾ ਰਹੇ ਹਨ * ਲੇਬਲ

ਸਿਖਰ ਤੱਕ ਸਕ੍ਰੋਲ ਕਰੋ