نمایش لینک به دستهبندی فعلی نوشته در وردپرس کار سادهای است و من قرار است سه روش مختلف برای این کار را در این مقاله از سری مقالات آموزش وردپرس به شما معرفی کنم: با استفاده از کدنویسی سفارشی، استفاده از قالب وردپرس و همچنین افزونه Yoast SEO و نوار راهبری آن.
راهنمای مطالعه:
با استفاده از کد سفارشی
کافی است این کد را در هرجایی که دوست دارید لینک دستهبندی نمایش داده شود قرار دهید. این کد لینک به اولین دسته این نوشته را نشان میدهد. میتوانید آن را در هر فایل قالب قرار دهید، حتی بیرون از حلقه اصلی وردپرس، اما اگر در فایل functions.php قرار دهید باید آن را به یک اکشن متصل کنید که پس از بارگذاری وردپرس اجرا شود، مثلا به اکشن wp.
<?php
// Display the first category.
$first_cat = get_the_category()[0] ?? '';
if ( $first_cat ) {
    echo '<a href="' . esc_url( get_category_link( $first_cat->cat_ID ) ) . '">' . esc_html( $first_cat->cat_name ) . '</a>';
}
?>لینک دادن به تاکسونومی سفارشی
اگر میخواهید اولین لینک دسته را برای تاکسونومی سفارشی نمایش دهید، باید از تابع get_the_terms() استفاده کنید، زیرا تابع get_the_category() فقط برای دستهبندیهای پیشفرض کار میکند. در پایین یک نمونه کد برای نمایش اولین برچسب نوشته در تاکسونومی “portfolio_category” آمده است.
<?php
// Display the first portfolio_category.
$first_term = get_the_terms( get_post(), 'portfolio_category' )[0] ?? '';
if ( $first_term ) {
    echo '<a href="' . esc_url( get_category_link( $first_term ) ) . '">' . esc_html( $first_term->name ) . '</a>';
}
?>ساختن یک تابع کمکی
بهنظر من بهتر است برای این نوع نیازها یک تابع کمکی بسازید چون احتمالا در بخشهای مختلف سایت به آن نیاز پیدا میکنید. مثلا شاید بخواهید لینک اولین دسته را در صفحه آرشیو و همچنین در نوشته تکی نمایش دهید.
در اینجا یک تابع کمکی دارید که میتوانید برای نمایش لینک اولین برچسب از هر تاکسونومی استفاده کنید. دقت کنید که میتوانید با هر تاکسونومی از این تابع استفاده کنید و فقط محدود به دستهبندی نیست 😉
// Returns a link to the first term of a post for a given taxonomy.
function wpexplorer_get_first_term_link( string $taxonomy = 'category' ): string {
    $term_link = '';
    $first_term = get_the_terms( get_post(), $taxonomy )[0] ?? '';
    if ( $first_term ) {
        $term_link = '<a href="' . esc_url( get_category_link( $first_term ) ) . '">' . esc_html( $first_term->name ) . '</a>';
    }
    return $term_link;
}استفاده از این تابع به شکل زیر خواهد بود:
<?php echo wpexplorer_get_first_term_link(); ?>افزودن پشتیبانی از دستهبندی اصلی Yoast
افزونه Yoast SEO این امکان را به شما میدهد که برای هر نوشته یک دسته اصلی تعیین کنید. معمولا این قابلیت برای ساخت نوار راهبری (breadcrumb) استفاده میشود. کدهای بالا اولین دستهبندی را نمایش میدهند اما اگر یک نوشته چند دسته داشته باشد ممکن است آن دستهای که مدنظر شماست نمایش داده نشود.
با استفاده از قابلیت دستهبندی اصلی یوآست میتوانید دقیقا مشخص کنید چه دستهای به عنوان اصلی نمایش داده شود. روش گرفتن دستهی اصلی به این صورت است:
if ( class_exists( 'WPSEO_Primary_Term' ) ) {
    $taxonomy = 'category';
    $yoast_primary_term_class = new WPSEO_Primary_Term( $taxonomy, get_the_ID() );
    if ( $yoast_primary_term_class && is_callable( [ $yoast_primary_term_class, 'get_primary_term' ] ) ) {
        $yoast_primary_term = $yoast_primary_term_class->get_primary_term();
        if ( $yoast_primary_term && term_exists( $yoast_primary_term, $taxonomy ) ) {
            $primary_term = $yoast_primary_term;
        }
    }
}این کد صرفا دستهبندی اصلی را برمیگرداند. حالا اگر بخواهید تابع کمکی را بهروزرسانی کنید تا از دستهبندی اصلی پشتیبانی کند، کدهای شما به این شکل خواهد بود:
// Returns a link to the first term of a post for a given taxonomy.
function wpexplorer_get_first_term_link( string $taxonomy = 'category' ): string {
    $term_link = '';
    if ( class_exists( 'WPSEO_Primary_Term' ) ) {
        $yoast_primary_term_class = new WPSEO_Primary_Term( $taxonomy, get_the_ID() );
        if ( $yoast_primary_term_class && is_callable( [ $yoast_primary_term_class, 'get_primary_term' ] ) ) {
            $yoast_primary_term = $yoast_primary_term_class->get_primary_term();
            if ( $yoast_primary_term && term_exists( $yoast_primary_term, $taxonomy ) ) {
                $first_term = get_term( $yoast_primary_term, $taxonomy );
            }
        }
    }
    $first_term = $first_term ?? get_the_terms( get_post(), $taxonomy )[0] ?? '';
    if ( $first_term ) {
        $term_link = '<a href="' . esc_url( get_category_link( $first_term ) ) . '">' . esc_html( $first_term->name ) . '</a>';
    }
    return $term_link;
}استفاده از قالب وردپرس
اگر قالبی دارید که از المنتهای پویا پشتیبانی میکند و میخواهید لینک دستهبندی نوشته را در قالب نمایش دهید، این کار بهسادگی انجام میشود! کافیست المنت “Post Terms” را وارد کنید و تنظیمات آنرا به دلخواه انجام دهید.

در این روش شما میتوانید تعیین کنید که همه دستهها یا فقط دسته اصلی/اول نمایش داده شود و همینطور پشتیبانی از تاکسونومیهای سفارشی هم وجود دارد. در اینجا یک نمونه از ظاهر این المنت در سایت نهایی آمده است:

استفاده از نوار راهبری Yoast SEO
روش دیگر، استفاده از قابلیت نوار راهبری (breadcrumbs) افزونه Yoast SEO است. معمولا وقتی میخواهید دسته فعلی نوشته را نمایش دهید بهتر است این کار را از طریق نوار راهبری سایت انجام دهید، زیرا به کاربران کمک میکند آسانتر در سایت جابجا شوند.
نوار راهبری همچنین برای سئوی سایت مفید خواهد بود. بسیاری از قالبهای رایگان و حرفهای وردپرس امکان افزودن نوار راهبری با یوآست را دارند و توصیه هم میشود چون تنظیم آن بسیار ساده است.
افزودن نوار راهبری یوآست در قالب مبتنی بر بلوک
اگر از قالب مبتنی بر بلوک استفاده میکنید، افزودن نوار راهبری یوآست کار بسیار راحتی است.
ابتدا به بخش نمایش > ویرایشگر بروید، روی قالبها کلیک کنید و سپس قالب Single را برای ویرایش باز کنید:

حالا احتمالا بهتر است یک بلوک گروه جدید اضافه کنید و درون آن بلوک نوار راهبری Yoast را درج کنید:

وقتی در بخش مدیریت هستید فقط لینک خانه را خواهید دید اما مطمئن باشید که در سایت اصلی مسیر کامل نمایش داده میشود.
در این راهنما فقط نوار راهبری را به قالب single اضافه کردیم. اگر قالب شما چند نوع نوشته دارد شاید نیاز باشد برای هر یک از آنها این کار را تکرار کنید؛ و اگر میخواهید نوار راهبری در صفحات بایگانی هم نمایش داده شود، قالب آن را نیز ویرایش کنید.
افزودن نوار راهبری یوآست در قالب کلاسیک
اگر قالب شما مبتنی بر بلوک نیست (قالب کلاسیک)، ابتدا باید مطمئن شوید که قالب شما از نوار راهبری یوآست پشتیبانی میکند. اگر اینگونه نباشد به سادگی میتوانید این کد را در فایل قالب (معمولاً single.php یا page.php و بالای عنوان نوشته) قرار دهید:
if ( function_exists('yoast_breadcrumb') ) {
     yoast_breadcrumb('<div id="breadcrumbs-trail">','</div>');
}توجه: بیشتر قالبهای حرفهای نوار راهبری داخلی دارند. اگر در قالبی حرفهای چیزی مشاهده نمیکنید بهتر است با پشتیبانی قالب تماس بگیرید. فقط در صورتی این کد را اضافه کنید که قالب اختصاصی خودتان را توسعه دادهاید.
تنظیمات نوار راهبری Yoast SEO
حالا که بلوک نوار راهبری یوآست را به قالب خود اضافه کردید یا کد سفارشی را قرار دادید، نوبت به تنظیمات آن میرسد. برای این کار باید وارد پنل تنظیمات Yoast شوید، روی پیشرفته کلیک کنید و سپس گزینه Breadcrumbs را انتخاب کنید. پس از باز شدن تنظیمات، بخش Breadcrumbs for Post Types را پیدا کنید و مشخص کنید که چه دسته یا تاکسونومی باید در مسیر نوار راهبری نمایش داده شود.

نمایش لینک دستهبندی در وردپرس سخت نیست
همانطور که میبینید، نمایش لینک دستهبندی در وردپرس اصلا کار دشواری نیست و خیلی سریع میتوانید با کمی کدنویسی سفارشی یا با استفاده از نوار راهبری افزونههایی مانند Yoast SEO این کار را انجام دهید.
نمایش لینک دستهبندی فعلی سایت به بازدیدکنندگان کمک میکند محتوای مرتبط را راحتتر پیدا کنند و همین موضوع هم برای رضایت کاربران سایت و هم افزایش بازدید صفحات و بهبود سئو مؤثر است.
- توجه به ساختار چنددستهای: در بسیاری از سایتها، هر نوشته میتواند در چند دستهبندی قرار گیرد. در این شرایط معمولاً نمایش همه دستهها یا دسته شاخص (اصلی یا مهمتر)، به بهبود تجربه کاربری کمک میکند. بسته به نیاز خود، میتوانید کدها را طوری تنظیم کنید که بجای اولین دسته، همه دستهها را با جداکننده («/»، «،» یا خط فاصله) نمایش دهید.
 
- شخصیسازی نمایش دستهبندیها: میتوانید برای سبک ظاهری (CSS) کدها کلاس دلخواه تعریف کنید تا نمایش دستهبندیها با ظاهر سایت شما هماهنگ باشد؛ برای مثال با افزودن class="custom-category-link"به لینک خروجی در توابع کمکی، کنترل بیشتری بر ظاهر خواهید داشت.
 
-  نکات سئو و بهبود جایگاه سایت: نمایش مسیر دستهبندی (Breadcrumb) نه فقط باعث بهبود تجربه کاربری، بلکه به موتورهای جستجو نیز کمک میکند تا ساختار محتوایی سایت شما را بهتر درک کنند. گوگل این مسیرها را معمولاً در نتایج جستجو نیز نمایش میدهد. استفاده مناسب از این قابلیت میتواند باعث افزایش نرخ کلیک (CTR) گردد.
 
- نمونههایی برای افزونههای دیگر:
 اگر از افزونههایی مانند Rank Math، All in One SEO Pack و … به جای Yoast SEO استفاده میکنید، این افزونهها نیز معمولاً ابزار Breadcrumb و انتخاب دسته اصلی دارند که استفاده از آنها مشابه یوآست است. در تنظیمات آنها گزینهای برای تنظیم “Primary Category” یا “Breadcrumbs” وجود دارد.
 
- خروجی سفارشی در انواع نمایشها:
 شما میتوانید بر اساس موقعیت و نوع قالب (مثلاً نمایش در نوشته تکی، صفحه آرشیو، یا صفحات نتایج جستجو) تصمیم بگیرید که چگونه و کجا لینک دستهبندی نمایش داده شود – این موضوع در بهینهسازی تجربه کاربری بسیار مهم است.
 
- افزودن قابلیت کلیکپذیری و ردیابی آماری: با افزودن ویژگیهای مانند event trackingگوگل آنالیتیکس به لینک دستهبندیها، میتوانید میزان محبوبیت دستهها و نحوه پیمایش کاربران میان دستهبندیها را بررسی کنید.
 
- نمایش دستهبندیها برای انواع پست سفارشی: اگر سایت شما از post type سفارشسازیشده استفاده میکند (مثلا محصولات ووکامرس، نمونهکارها و غیره)، نمایش لینک به تاکسونومی مرتبط میتواند تجربه کاربری جذابتر و طبقهبندی بهتری بهوجود آورد. توابع ارائهشده را میتوانید برای تاکسونومیهای سفارشی (مثلاً product_catیاportfolio_category) بهکار ببرید.
 
- پیشنهاد امنیتی: در کدنویسی دستی، همیشه مطمئن شوید دادههایی که در خروجی قرار میگیرند بوسیله توابع esc_html()یاesc_url()به درستی ایمنسازی شده باشند تا سایت شما در برابر مشکلات امنیتی مانند XSS محفوظ بماند.
 
- راهنمایی برای توسعهدهندگان قالب: اگر قالب اختصاصی میسازید، توصیه میشود پشتیبانی پیشفرض برای نمایش لینک دستهبندی یا Breadcrumb را در قالب بگنجانید تا کاربران نهایی هنگام نصب افزونههای سئو یا تغییر تنظیمات نیاز به ویرایش مستقیم قالب نداشته باشند.
جمع بندی
در آخر با رعایت این نکات عملی میتوانید قابلیت نمایش لینک دستهبندی در وردپرس را بهینهتر، جذابتر و برای کاربران و موتورهای جستجو سودمندتر کنید.

دیدگاه و پرسش