ورڈپریس زمرہ/ٹیگ/مصنف کے صفحے کو چپچپا مضامین کیسے بنایا جائے؟

WordPressآرٹیکل چسپاں کرنے کا ایک بلٹ ان فنکشن موجود ہے، لیکن بطور ڈیفالٹ صرف ٹاپ پیج کو چپچپا مضامین دکھانے کے لیے سپورٹ کیا جاتا ہے۔

آرکائیو کے دیگر صفحات (جیسے زمرہ کے صفحات، ٹیگ کے صفحات، مصنف کے صفحات، اور تاریخ کے صفحات) صرف پہلے سے طے شدہ ترتیب میں، سب سے اوپر چسپاں مضامین نہیں دکھا سکتے ہیں۔

ورڈپریس کے ساتھ بہت کچھ کرنا ہے۔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 میں شامل کریں اور اسٹکی پوسٹ میں اسٹکی نام کی کلاس شامل کریں۔

عام ورڈپریس تھیمز میں، ٹاپ آرٹیکل اسٹائل کے لیے سی ایس ایس کوڈ ہوگا، آپ اپنی مرضی کے مطابق ▼ بھی شامل کر سکتے ہیں۔

//置顶文章添加样式
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 Content Marketing AI Tool Usage Guide" حاصل کرنے والے پہلے فرد بنیں! 🌟
📚 یہ گائیڈ بہت بڑی قیمت پر مشتمل ہے، 🌟یہ ایک نادر موقع ہے، اس سے محروم نہ ہوں! ⏰⌛💨
پسند آئے تو شیئر اور لائک کریں!
آپ کا اشتراک اور پسندیدگی ہماری مسلسل حوصلہ افزائی ہے!

 

评论 评论

آپ کا ای میل ایڈریس شائع نہیں کیا جائے گا۔ ضروری شعبوں کا استعمال کیا جاتا ہے * لیبل لگائیں

اوپر سکرول کریں