نمایش زیرشاخهها در صفحات دسته بندی وردپرس
فرقی ندارد از وردپرس به عنوان یک CMS استفاده میکنید یا یک وبلاگ، در هر دو صورت ممکن است تمایل داشته باشید زیرشاخهها را در صفحههای دسته بندی نمایش دهید. درواقع راه سادهای برای این کار وجود ندارد و روشهایی که پیشنهاد میشود معمولا باگهای زیادی دارند. ولی با استفاده از روشی که در ادامه به آن میپردازیم، میتوانید زیرشاخهها را به صفحات دسته بندی وردپرس اضافه کنید.
روش اضافه کردن زیرشاخهها به صفحات دسته بندی در وردپرس
روشی که در وبلاگ Yoast گذاشته شده است، هم قدیمی است و هم باگهای زیادی دارد. باگ این روش هم این است که حتی اگر زیرشاخهها در صفحهی دسته بندی نشان داده شوند، وقتی وارد این زیرشاخهها میشوید هیچ دسته بندیای نشان داده نمیشود. به همین دلیل ما از روش دیگری استفاده میکنیم که با استفاده از آن زیرشاخهها در صفحات اصلی دسته بندی نشان داده میشوند و زمانی که روی یک زیرشاخه کلیک میکنید، همچنان میتوانید سایر دسته بندیها را هم در آن صفحه مشاهده کنید.
اگر نتوانستید توضیحات بالا را به خوبی درک کنید، بیاید موضوع را از جنبهی دیگری بررسی کنیم. تصور کنید یک دسته بندی اصلی با نام Sports دارید. سه زیر شاخه برای این دسته بندی با نامهای NFL، NBA و MLB در سایت دارید. در این حالت زمانی که یک نفر به صفحهی اصلی سایت شما میآید، فقط دسته بندی Sports و سایر دسته بندیهای اصلی را میبیند، ولی وقتی روی این دسته بندی کلیک کند، میتواند سایر زیرشاخهها را هم ببیند. مشکل روش Yoast این بود که وقتی کاربران بر روی یکی از زیرشاخهها کلیک میکردند، سایر موارد در صفحه ناپدید میشدند. اما با استفاده از روش پیشنهادی ما با کلیک بر روی یک زیرشاخه، سایر زیرشاخهها همچنان باقی میمانند.
برای استفاده از این روش کافی است کد زیر را هرجایی که میخواهید دسته بندی به نمایش دربیاید، کپی کنید:
<?php
if (is_category()) {
$this_category = get_category($cat);
}
?>
<?php
if($this_category->category_parent)
$this_category = wp_list_categories(‘orderby=id&show_count=0
&title_li=&use_desc_for_title=1&child_of=’.$this_category->category_parent.
“&echo=0”); else
$this_category = wp_list_categories(‘orderby=id&depth=1&show_count=0
&title_li=&use_desc_for_title=1&child_of=’.$this_category->cat_ID.
“&echo=0”);
if ($this_category) { ?>
<ul>
<?php echo $this_category; ?>
</ul>
<?php } ?>
اگر میخواهید دسته بندی اصلی را هم در صفحهی زیرشاخهها به نمایش بگذارید، کافی است بخش depth=”1″ را از کد بالا حذف کنید.
جمع بندی
این روش بسیار مفید و ساده است، مخصوصا اگر قصد دارید تمهای وردپرس را طراحی کنید. در نتیجه با استفاده از این روش ساده میتوانید زیرشاخهها را در صفحات دسته بندی وردپرس اضافه کنیدو با هیچ باگی هم مواجه نخواهید شد.
منبع
https://www.wpbeginner.com/wp-tutorials/display-subcategories-on-category-pages-in-wordpress/