نمایش ندادن دستهبندی خاص در صفحه اصلی سایت

نمایش ندادن دستهبندی خاص در صفحه اصلی سایت
بهصورت پیشفرض وقتی تو وردپرس یه نوشته منتشر میکنید، اون مطلب مستقیم میاد تو صفحه اصلی سایت نمایش داده میشه. حالا چون نوشتهها داخل دستهبندیهای مختلف قرار میگیرن، طبیعیه که همهشون با هم تو صفحه اصلی دیده بشن.
اما بعضی وقتها ممکنه بخواید مطالب یه دستهبندی خاص اصلاً تو صفحه اصلی نمایش داده نشن؛ مثلاً نوشتههای آموزشی ویژه، مطالب تستی یا هر چیزی که فقط قراره تو آرشیوش دیده بشه.
اگه چنین چیزی مدنظرته، این آموزش رو تا آخر دنبال کن چون دقیقاً قراره همین مشکل رو برات حل کنیم.
تو این مقاله از میهن آکادمی قراره مرحلهبهمرحله بهت یاد بدیم چطور تنظیم کنی که یک یا چند دستهبندی خاص در صفحه اصلی سایت وردپرسیات نمایش داده نشن.
نمایش ندادن دستهبندی خاص در صفحه اصلی سایت
برای این کار اول از همه باید افزونه Ultimate Category Excluder رو نصب و فعال کنی ، در ضمن اگه که نمی دونی چطور در وردپرس افزونه نصب کنی ( آموزش نصب افزونه در وردپرس ) را مطالعه کنید و بعد از فعالسازی افزونه، یه گزینه جدید به اسم Category Excluder به منوی تنظیمات در پیشخوان وردپرس اضافه میشه. وارد این بخش شو تا به صفحه تنظیمات افزونه برسی.

تو این صفحه، لیست کامل همه دستهبندیهای سایتت رو میبینی. حالا کافیه از ستون Exclude from front page دستهبندیهایی که نمیخوای تو صفحه اصلی نمایش داده بشن رو تیک بزنی.
جالب اینجاست که با همین افزونه میتونی:
- یه دستهبندی رو از صفحه اصلی
- یا از خوراک RSS
- یا حتی از آرشیو دستهبندیها
هم حذف کنی.
بعد از اینکه تنظیمات دلخواهت رو انجام دادی، فقط کافیه روی دکمه بهروزرسانی کلیک کنی تا تغییرات ذخیره بشن. به همین راحتی
حذف یک دستهبندی از صفحه اصلی سایت بدون استفاده از افزونه
اگه دوست نداری برای هر کار کوچیکی افزونه نصب کنی، این روش دقیقاً به دردت میخوره 👌 تو این روش اصلاً نیازی به افزونه نیست و فقط کافیه چند خط کد ساده به قالب سایتت اضافه کنی ، برای این کار، وارد فایل functions.php قالب فعال سایتت شو، کد زیر رو داخلش قرار بده و فایل رو ذخیره کن. به همین راحتی میتونی مشخص کنی که مطالب یک دستهبندی خاص تو صفحه اصلی وردپرس نمایش داده نشن.
function exclude_category_home( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-5' );
}
return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_home' );
یادت باشه بهجای عدد -5 باید شناسه (ID) دستهبندی موردنظرت رو قرار بدی. با این کار، همه نوشتهها و پستهای اون دستهبندی از صفحه اصلی سایت مخفی میشن و دیگه به کاربرها نمایش داده نمیشن.
فقط یه نکته مهم
حتماً باید علامت منفی (–) رو قبل از شناسه دستهبندی بذاری؛ اگه این علامت نباشه، کد درست عمل نمیکنه ، اگه بخوای چند تا دستهبندی رو همزمان از صفحه اصلی حذف کنی، میتونی از کد زیر استفاده کنی. فقط کافیه شناسه دستهبندیهای دلخواهت رو با شناسههایی که داخل کد هست جایگزین کنی و تمام
function exclude_category_home( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-5, -9, -23' );
}
return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_home' );
موفق و پیروز باشید
