سلام دوستان! امروز میخواهیم درباره یکی از توابع جالب وردپرس به نام wp_nav_menu_item_taxonomy_meta_box()
صحبت کنیم. این تابع به ما کمک میکند تا اطلاعات مربوط به دستهبندیها و برچسبها را به منوهای ناوبری خود اضافه کنیم. شاید بپرسید که این تابع چطور کار میکند و چه کاربردی دارد. بنابراین، بیایید با هم به جزئیات این موضوع بپردازیم.
وقتی شما یک منوی ناوبری در وردپرس ایجاد میکنید، معمولاً به فکر ایجاد دستهها و برچسبهای مختلف برای آن هستید. اما ممکن است بخواهید برای هر آیتم منو اطلاعات بیشتری هم اضافه کنید. در اینجا است که تابع wp_nav_menu_item_taxonomy_meta_box()
میتواند به کمک شما بیاید. این تابع به شما این امکان را میدهد که باکسهایی را برای ورود اطلاعات اضافی درباره دستهها و برچسبها به آیتمهای منو اضافه کنید.
استفاده از این تابع خیلی ساده است. کافی است که آن را در داخل توابع سفارشی خود فراخوانی کنید. با این کار، میتوانید به منوهای خود اطلاعات مفیدی را اضافه کنید که به کاربران کمک میکند تا بهتر راههای مختلف را بیابند. بنابراین، بیایید ببینیم چگونه میتوانیم از این تابع به صورت عملی استفاده کنیم.
در ادامه، ما یک مثال عملی از استفاده از این تابع را بررسی خواهیم کرد. به شما نشان میدهیم چگونه میتوانید این تابع را در فایل functions.php
قالب خود اضافه کنید و چگونه خروجی آن را مدیریت کنید. همچنین، به شما دلیلی میدهیم که چرا استفاده از این تابع میتواند به سایت شما کمک کند.
کد نمونه استفاده از wp_nav_menu_item_taxonomy_meta_box()
function add_taxonomy_meta_box() {
add_meta_box(
'taxonomy_meta_box',
__('دستهبندیها', 'textdomain'),
'taxonomy_meta_box_callback',
'nav-menus',
'side'
);
}
function taxonomy_meta_box_callback($item) {
$terms = get_terms(['taxonomy' => 'category', 'hide_empty' => false]);
foreach ($terms as $term) {
$checked = in_array($term->term_id, wp_get_object_terms($item->ID, 'category', ['fields' => 'ids'])) ? 'checked' : '';
echo ' ' . $term->name . '
';
}
}
add_action('admin_init', 'add_taxonomy_meta_box');
توضیح خط به خط کد
تعریف تابع add_taxonomy_meta_box
در ابتدا، ما یک تابع به نام add_taxonomy_meta_box
تعریف میکنیم که باکس مربوط به دستهها را برای منوی ناوبری اضافه میکند.
اضافه کردن باکس متا
ما از add_meta_box
استفاده میکنیم تا باکس متای جدیدی به منوی ناوبری اضافه کنیم، با عنوان دستهبندیها
و ID taxonomy_meta_box
.
تعریف تابع callback
سپس تابع taxonomy_meta_box_callback
را تعریف میکنیم که حاوی منطق نمایش گزینههای دستهبندی برای هر آیتم منو است.
دریافت دستهها
در این تابع، ما با استفاده از get_terms
تمام دستهها را دریافت کرده و برای هر کدام یک چک باکس ایجاد میکنیم تا کاربر بتواند دستهبندی مورد نظر خود را انتخاب کند.
برای افزودن اکشن به وردپرس
با استفاده از add_action
، تابع add_taxonomy_meta_box
را به هویتی admin_init
اضافه میکنیم تا کد در بخش مدیریت اجرا شود.