وردپرس (WordPress) Action Hook (register_taxonomy) پلتفرم: wordpress متوسط (Medium) سطح ریسک: متوسط (Medium Risk)

ثبت دسته‌بندی سفارشی در وردپرس (Custom Taxonomy)

تست‌شده و بازبینی‌شده در 1405/06/29 ۳۸۸ بار کپی ۲۷۸ مشاهده
پاسخ سریع و خلاصه کاربردی (Quick Answer)

با تابع `register_taxonomy` دسته‌بندی مورد نظر را بسازید و آن را به پست‌تایپ اختصاصی متصل کنید.

مشخصات فنی و شناسنامه کد (Code Information)

بازبینی: 1405/06/29
پلتفرم اجرایی (Platform) wordpress
نوع کد (Code Type) Action Hook (register_taxonomy)
محل قرارگیری فایل (Location) functions.php
سطح دشواری (Difficulty) متوسط (Medium)
سطح ریسک (Risk Level) متوسط (Medium Risk)
نیاز به بکاپ اولیه؟ بله، حتماً بکاپ بگیرید
سازگاری با وردپرس تمامی نسخه‌ها
سازگاری با ووکامرس و HPOS سازگار
هشدار ایمنی: این تغییر مستقیماً فایل‌های حساس سرور یا دیتابیس را ویرایش می‌کند. حتماً پیش از ذخیره کد از وب‌سایت یا فایل مورد نظر فایل پشتیبان (Backup) تهیه کنید.
|
<?php
/**
 * ثبت تاکسونومی سفارشی برای نمونه‌کارها (دسته‌بندی پروژه‌ها)
 */
function bisco_register_portfolio_taxonomy() {
    $labels = array(
        'name'              => 'دسته‌بندی پروژه‌ها',
        'singular_name'     => 'دسته پروژه',
        'search_items'      => 'جستجوی دسته‌ها',
        'all_items'         => 'همه دسته‌ها',
        'parent_item'       => 'دسته مادر',
        'parent_item_colon' => 'دسته مادر:',
        'edit_item'         => 'ویرایش دسته',
        'update_item'       => 'به‌روزرسانی دسته',
        'add_new_item'      => 'افزودن دسته جدید',
        'new_item_name'     => 'نام دسته جدید',
        'menu_name'         => 'دسته‌ها',
    );

    $args = array(
        'hierarchical'      => true, // به صورت دسته‌بندی والد/فرزند باشد (مانند دسته پست‌ها)
        'labels'            => $labels,
        'show_ui'           => true,
        'show_admin_column' => true, // نمایش ستون دسته در جدول ادمین
        'query_var'         => true,
        'show_in_rest'      => true, // نمایش در پنل سایدبار گوتنبرگ
        'rewrite'           => array( 'slug' => 'project-type' ),
    );

    register_taxonomy( 'project_type', array( 'portfolio' ), $args );
}
add_action( 'init', 'bisco_register_portfolio_taxonomy' );

کد را کجا قرار دهیم؟ (Placement Guide)

کد را به functions.php اضافه کرده و سپس پیوندهای یکتا را در تنظیمات ذخیره کنید.

مسیر فایل: functions.php

این کد چگونه کار می‌کند؟ (How it Works)

تاکسونومی جدید در جدول wp_term_taxonomy ذخیره شده و ستون مدیریت آن به جدول مدیریت پست‌تایپ portfolio متصل می‌گردد.

چه زمانی از این کد استفاده کنیم؟ (Use Cases)

جهت طبقه‌بندی منظم پست‌های سفارشی به بخش‌ها یا موضوعات گوناگون.

چه زمانی نباید از این کد استفاده کنیم؟ (Anti-patterns)

اگر یک پست‌تایپ به هیچ دسته‌بندی نیاز ندارد.

پیش‌نیازهای اجرا

وردپرس ۵.۰ به بالا.

نحوه تست و اطمینان از عملکرد

به بخش «نمونه کارها» در پیشخوان بروید؛ زیرمنوی «دسته‌ها» اضافه شده و در جدول نوشته‌ها ستون جدید آن نمایش می‌یابد.

نحوه بازگردانی سریع (Rollback)

کد را حذف کنید.

خطاهای رایج و راه‌حل رفع

تنظیم نکردن 'show_in_rest' => true که باعث ناپدید شدن باکس انتخاب دسته‌ها در ویرایشگر گوتنبرگ می‌شود.

ملاحظات و نکات امنیتی

اسلاگ‌ها با متد امنیتی ثبت می‌شوند.

تاثیر بر سرعت و پرفورمنس

ساختار ایندکس شده جداول ترم‌ها پاسخگویی بسیار سریعی در کوئری‌ها دارد.

پرسش‌های متداول پیرامون این کد (FAQ)

اگر true باشد مانند «دسته‌ها» امکان تعیین والد و فرزند دارد، اگر false باشد مانند «برچسب‌ها» به صورت برچسب‌های آزاد عمل می‌کند.
منابع و مستندات رسمی بررسی‌شده (Official Sources):

سبد خرید شما

0 افزونه

سبد خرید شما خالی است

هنوز محصولی را به سبد خرید اضافه نکرده‌اید. می‌توانید از افزونه‌های اختصاصی ما دیدن فرمایید.

مشاهده فروشگاه افزونه‌ها

ثبت درخواست مشاوره

با تکمیل فرم زیر، کارشناسان فنی بیسکو وب در سریع‌ترین زمان ممکن با شما تماس می‌گیرند.

مشاور
پشتیبانی و مشاوره تخصصی
پاسخگویی سریع کارشناسان
09903336117