عدم نمایش مطالب دسته‌ای خاص در صفحه اول‬ سایت وردپرسی

4.6/5 - (5 امتیاز)

پیش از این مطلبی با عنوان “فراخوانی آخرین مطالب دسته‌ای خاص در صفحه اول” تقدیم عزیزان شده بود. امروز می‌خوایم کنار هم یه کار جالب انجام بدیم و این بار از نمایش مطالب دسته‌ای خاص در صفحه اول سایت وردپرسی خودمون جلوگیری کنیم.

جلوگیری از نمایش مطالب دسته ای خاص در وردپرس

عدم نمایش مطالب دسته‌ای خاص در وردپرس

این عدم نمایش مطالب دسته‌ای خاص بیشتر زمان‌هایی کاربرد داره که ما قصد داشته باشیم مثلا مطالبی رو که در دسته‌ای خاص درج می‌شن رو در صفحه اصلی به نمایش در نیاریم بلکه یک صفحه اختصاصی برای دسته خاص مورد نظر طراحی کنیم و اونجا نمایش بدیم، برای همین دوست داریم مطالب این دسته فقط تو اون صفحه قابل تماشا باشه.

برای این کار کافی هست کد زیر رو در فایل functions.php قالب وردپرس خودتون کپی و یا اینکه اون رو به افزونه اختصاصی خودتون اضافه کنید:

<?php
// Hide contents of a specific batch in Home
function exclude_category_home( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-7,-1' );
}
return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_home' );
?>

حالا تو خط 5 اعداد 7 و 1 همون IDهای مربوط به دسته‌هایی هستند که نمی‌خوایم مطالب اون‌ها در صفحه اصلی نمایش داده بشه و شما باید ID مربوط به دسته‌های خودتون که نمی‌خواین نمایش داده بشن رو جای‌گزین اون‌ها کنید، فقط یادتون باشه درج علامت “-” قبل از شماره ID اجباری هست.

برای بدست آوردن ID دسته‌ها هم کافیه از پنل مدیریت وردپرس وارد بخش دسته‌ها شده و اشاره‌گر ماوس رو روی دسته‌ای که ID اون رو لازم دارین ببرین، با این کار لینکی در قسمت پایین و سمت چپ مرورگر نشون داده میشه که در آن عددی مقابل کلمه ID نشون داده میشه و این همون عدد مورد نیاز یا همون ID دسته‌ای که انتخاب کردین هست.

امیدوارم مورد توجه دوستان قرار گرفته باشه.

4.6/5 - (5 امتیاز)

کانال تلگرام ماندگار وب

  1. حسین

    سلام من یه سایت اندروید دارم و می خواستم یه سری آموزش بزارم توش (جدا از بخش فایل های دانلود و …)
    حالا سولم اینه که به نظرتون از روشی که شما میگید استفاده کنم و یک موضوع با نام اخبار یا یه همچین چیزی بسازم و هیدنش کنم یا کار دیگه ای کنم؟؟

  2. حسین

    در ضمن یه سوال دیگه ای هم داشتم می خواستم بدونم چرا دیدگاه هایی که توی سایتم میزارم شکلکاشون مشکل دارن؟؟
    مثلا این پست من رو ببنید.
    خواهشا جواب بدین
    http://lordapk.ir/2014/07/modern-combat-5-blackout-v1-0-0-%d9%85%d8%af%d8%b1%d9%86-%da%a9%d9%85%d8%a8%d8%aa-5-%d8%a7%d9%86%d8%af%d8%b1%d9%88%db%8c%d8%af/

    منظورم همون آواتر نویسنده دیدگاه هست

    1. MONJE

      راستش نمیدونم تو قالب شما از کدی برای نمایش آواتار نویسنده استفاده شده ولی من خودم معمولا تو قالب ها از این کد استفاده میکنم.
      [php]
      <?php echo get_avatar($comment,$size=’60’); ?>
      [/php]
      این کد رو با کدی که اونجا درج شده جایگزین کن , شاید مشکلت رفع شه.

  3. مهرشاد

    سلام ممنون از کمکتون .
    دوست عزیز من این کد رو استفاده کردم . و برام اون کاریو که میخواستم انجام داد .
    فقط یک مشکل همه کتگوری ها رو تو مینو آورده و اصلاْ تغییر نمی کنه ممنون میشم اگه کمکم کنین

    1. MONJE

      این کد هیچ ارتباطی با نمایش دسته بندی ها نداره!
      من تست کردم مشکلی نبود، فک میکنم مشکل از ساختار قالب شماست، بهتره نحوه نمایش در منو و همچنین کدهای درج شده در فایل فانکشن مربوط به قالبتون رو بررسی کنید شاید با هم تداخلی دارن.

  4. مهرشاد

    ممنون مشکلم حل شد . فقط کدی هست که بر عکس این عمل کنه ؟ یعنی یک کتگوری رو انتخاب کنیم و فقط اونو تو صفحه اصلی داشته باشیم .

  5. حسین

    سلام
    من با استفاده از این کوئری مطالب یه دسته خاص رو فیلتر کردم ولی یه مشکل دیگه ای که دارم اینه که توی صفحه اصلی سایتم همه دسته ها رو نشون میدم و این دسته فیلتر شده هم اونجا نشون داده میشه، چجوری باید اون رو از اونجا حذف کنم؟ (میخوام اسم این دسته بین اون دسته ها نباشه)

  6. hassan

    سلام و خسته نباشید
    هر وقت از این استفاده میکنم مطالب معکوس میشه و استاتیک میمونه و مطالب تصادفی هم تصادفی عمل نمیکنه
    اما وقتی که این کد رو برمیدارم درست میشه اما اون دسته ای که نمیخوام رو نشون میده؟؟؟؟

    1. امیر خلجی مهر

      درود حسن آقای گل
      کوئری زیر رو بالای حلقه‌ی نوشته‌هات قرار بده
      [php]
      query_posts( ‘cat=-3’ );
      [/php]
      3 آی دی هست

  7. reza

    سلام
    وقتی از این کد استفاده میکنم اون دسته نشون داده نمی شه و درست کار میکنه ولی مشکلی که دارم دیگه تو جستجو ها این دسته رو نمیاره چی کارکنم

    1. امیر خلجی مهر

      درود
      این فانکشن فقط روی خانه کار میکنه، که تو کد هم میتونید دستور شرط is_home رو ببینید.

  8. شهرام

    سلام خسته نباشید
    این کد واقعا به دردم خورد بسیار ممنون ازتون.

    یه راهنمایی دیگه هم میخوام ازتون
    من میخوام چندتا پست ثابت داشته باشم هم در صفحه اصلی و هم آرشیو و هم سینگل.
    اگه به سایتهای دانلود سر بزنید(مثل دانلودها،آندرویدکده، apktops و …)چندتا پست ثابت دارن که در بالا و پایین صفحه و حتی بین پستها گذاشتن. همون پستهایی که پس زمینشون تیره هست
    هرچی گشتم نه افزونه خوبی تونستم پیدا کنم نه کدی.
    اکثرن تو سایتها به افزونه وردپرس استیکی اشاره کردن که خیلی ابتدایی هست.

    اگه لطف کنید در این زمینه راهنماییم کنین بسیار ممنون میشم
    لطفا پاسختون رو به ایمیلم هم ارسال کنید.

    1. امیر خلجی مهر

      درود شهرام جان
      من هم تجربه‌ای در این زمینه ندارم که بتونم شما رو راهنمایی کنم، بهتره تو انجمن مطرح کنید تا از پیشنهادات و تجربه‌های سایر دوستان بهره‌مند بشید

  9. اقای ایکس

    سلام خسته نباشید – من از کد بالا استفاده کردم و کاملا درست کار میکرد و فقط یک مشکل دارم که بعد از گذاشتن کد عکس های کتابخانه چند رسانه ای بارگزاری نمیشود و نشان نمیدهد لطفا راهنمایی کنید با تشکر

  10. محمدرضا

    سلام … من وبسایتم توی قالب فقط 4 تا پست نشون میده .. هر کاری میکنم نمیشه ممنون میشم راهنمایی کنید ..

    1. امیر خلجی مهر

      درود محمدرضا جان
      در مسیر پیشخوان > تنظیمات > خواندن، می‌توانید تعداد نمایش نوشته‌ها را مشخص سازید. اگر از این طریق مشکل شما حل نشد باید کدهای پوسته شما مورد بررسی قرار گیرد.

    1. امیر خلجی مهر

      محمدرضای عزیز شما باید کدهای پوسته رو قرار بدید که دیدگاه‌ها بخش مناسبی برای حل این‌گونه مشکلات نیست، خواهش میکنم در انجمن مطرح کنید تا دوستان کدهای پوسته شما رو بررسی کنند:
      http://forum.wp-parsi.com/

    1. امیر خلجی مهر

      درود
      مسیر: پیشخوان > تنظیمات > خواندن > در برگه‌ی نخست نمایش داده شود > یک برگه یکتا (پایین برگزینید)

  11. علی ایمانی

    با سلام وخسته نباشید
    سوال من این بود که تو نتایج جستجو اولین صفحه که ظاهر میشه صفحه مقاله هاست ومن میخوام که صفحه اصلی یا home ظاهر بشه ایا این دستور شما برای این منظور هم کار میکنه یا نه؟ خیلی وقته روی این موضوع کار میکنم ولی متاسفانه نمیشه و از بخش تنظیمات هم چون برگه یکتایی رو هم طراحی نکردم نمیتونم کاری بکنم لطفا راهنمایی بکنین .با تشکر

    1. امیر خلجی مهر

      درود و سپاس
      زمانی‌که چیزی جستجو میشه، نتایج با ساختار تمپلیت search.php نمایش داده می‌شوند، شما می‌توانید در این فایل تغییرات خود را ایجاد کنید، برای “نمونه” اگر کدهای فایل index.php در فایل search.php ریخته شوند، زمانی‌که نتایج جستجو نمایش داده میشود، ساختار آن همانند برگه خانه هست.
      شاد و پیروز باشید

  12. علی اصغر اصغری

    خیلی ممنون از راهنمائی هایتان
    من این کد را در قالب قرار دادم و آی دی را هم زدم ولی چون فروشگاه ووکامرس را بعنوان صفحه یکتا یا بقولی صفحه اصلی سایت انتخاب کردم لذا هیچ تغییری ایجاد نمی شه و دسته نمایش داده می شه
    آیا تغییراتی می شه در کد داد تا دسته ای از محصولات سایت در صفحه فروشگاه نمایش داده نشه ؟

  13. میثم

    با سلام.من سایت وردپرسم را روی لوکال هساتم دارم راه اندازی میکنم و به یک مشکل بر خورم.چند نمونه دسته بندی در سایتم قرار دادم ولی وقتی وارد نوشته هام میشم که بهشون دسته بندی بدم روی گزنه دسته ها که در سمت راست قرار داره میزنم هیچی نشون نمیده و هیچ دسته ای نمیارد ممنون میشم راهنمایی کنین باید چکار کنم

  14. yesterday

    با سلام
    ضمن تشکر از آموزش شما
    بنده قصد دارم، نحوه نمایش مطالب داخل دسته خاص را که به صورت پیش فرض بر اساس تاریخ انتشار است را به مرتب سازی بر اساس حروف الفبای فارسی قرار دادم.
    از چه کدی در چه فایلی از قالب باید استفاده شود؟
    با تشکر

  15. yesterday

    با سلام

    حسب الامر موضوع را در انجمن مطرح کردم اما به پاسخ مقتضی دست نیافتم.

    با توجه به این که در پی جستجو بسیار کد زیر :

    function change_category_order( $query ) {
    if ( $query->is_category() && $query->is_main_query() ) {
    $query->set( ‘orderby’, ‘title’ );
    $query->set( ‘order’, ‘ASC’ );
    }
    }
    add_action( ‘pre_get_posts’, ‘change_category_order’ );

    را بدست آوردم که همان کار را برای تمامی دستجات سایت انجام می دهدف در حالی بنده قصد اعمال کد روی دسته خاصی را دارم؛

    در صورت امکان به کد فوق، قطعه کدی که بشود آن را روی آی دی دسته خاص اعمال نمود را اضافه نمایید بسیار ممنون خواهم شد.

    با تشکر

    1. امیر خلجی مهر

      با درود.

      خط زیر را به خط 5 کد خود اضافه نمایید و بجای عدد 11 آیدی دسته بندی خود را قرار دهید:
      $query->set( 'cat', '11' );

دیدگاه خود را بنویسید

ماندگار وب - 1400