سلام در این آموزش به آشنایی با Taxonomy در وردپرس می پردازیم.Taxonomy یک نام است که مردم غیر ممکن است آن را نشنیده باشند . در واقع Taxonomy راهی برای هم گروه کردن همه چیز است . Taxonomy همان طبقه بندی است . پس در اینجا هر جا ما اسمی از طبقه بندی بردیم منظورمان همان Taxonomy است .
آشنایی با Taxonomy در وردپرس
در آشنایی با Taxonomy در وردپرس قابلیتهایی برای دستهبندی مطالب وجود دارد که دسته و برچسب نوشتهها نمونهای از آن هستند، حال اگر بخواهیم این دستهبندی را با تنوع و تفکیکپذیری بیشتری اعمال کنیم نیاز به قابلیتی داریم که در وردپرس با نام Taxonomy شناخته میشود و امکان ایجاد و سفارشیسازی خوبی دارد.
از Taxonomyها فقط برای نوع پست سفارشی استفاده نمیشود و شما میتوانید برای نوشتههای پیشفرض یا در توسعه افزونههای خود برای بخش مدیریت آیتمهای خود از آن استفاده کنید، نمونه طبقهبندی برای سال انتشار فیلمها در سایت.
ایجاد دسته بندی دستی با Taxonomy
در آشنایی با Taxonomy در وردپرس برای افزودن دستی طبقهبندی جدید کدها را میتوانید در افزونه یا فایل functions.php پوسته استفاده کنید.
برای شروع میخواهیم کد زیر را بررسی کنیم:
[php]
/ Register Custom Taxonomy
function wpp_custom_taxonomy() {
$labels = array(
‘name’ => __( ‘Taxonomies’, ‘text_domain’ ),
‘singular_name’ => __( ‘Taxonomy’, ‘text_domain’ ),
‘menu_name’ => __( ‘Taxonomy’, ‘text_domain’ ),
‘all_items’ => __( ‘All Items’, ‘text_domain’ ),
‘parent_item’ => __( ‘Parent Item’, ‘text_domain’ ),
‘parent_item_colon’ => __( ‘Parent Item:’, ‘text_domain’ ),
‘new_item_name’ => __( ‘New Item Name’, ‘text_domain’ ),
‘add_new_item’ => __( ‘Add New Item’, ‘text_domain’ ),
‘edit_item’ => __( ‘Edit Item’, ‘text_domain’ ),
‘update_item’ => __( ‘Update Item’, ‘text_domain’ ),
‘separate_items_with_commas’ => __( ‘Separate items with commas’, ‘text_domain’ ),
‘search_items’ => __( ‘Search Items’, ‘text_domain’ ),
‘add_or_remove_items’ => __( ‘Add or remove items’, ‘text_domain’ ),
‘choose_from_most_used’ => __( ‘Choose from the most used items’, ‘text_domain’ ),
‘not_found’ => __( ‘Not Found’, ‘text_domain’ ),
);
$args = array(
‘labels’ => $labels,
‘hierarchical’ => false,
‘public’ => true,
‘show_ui’ => true,
‘show_admin_column’ => true,
‘show_in_nav_menus’ => true,
‘show_tagcloud’ => true,
);
register_taxonomy( ‘taxonomy’, array( ‘post’ ), $args );
}
// Hook into the ‘init’ action
add_action( ‘init’, ‘wpp_custom_taxonomy’, ۰ );
[/php]
در کد بالا تابع wpp_custom_taxonomy را به اکشن init برای طبقهبندی جدید در ابتدای شروع برنامه نسبت دادهایم. تابع register_taxonomy که برای ثبت طبقهبندی استفاده میشود دارای پارامترهای گوناگونی است که به بررسی آن میپردازیم.
در آشنایی با Taxonomy در وردپرس نمونه کد قبلی دارای تنظیمات پیشفرض برای پارامترهای خاصی است، شما میتوانید سفارشیسازی بیشتری داشته باشید:
[php]
function wpp_custom_taxonomy() {
$labels = array(
‘name’ => __( ‘Taxonomies’, ‘text_domain’ ),
‘singular_name’ => __( ‘Taxonomy’, ‘text_domain’ ),
‘menu_name’ => __( ‘Taxonomy’, ‘text_domain’ ),
‘all_items’ => __( ‘All Items’, ‘text_domain’ ),
‘parent_item’ => __( ‘Parent Item’, ‘text_domain’ ),
‘parent_item_colon’ => __( ‘Parent Item:’, ‘text_domain’ ),
‘new_item_name’ => __( ‘New Item Name’, ‘text_domain’ ),
‘add_new_item’ => __( ‘Add New Item’, ‘text_domain’ ),
‘edit_item’ => __( ‘Edit Item’, ‘text_domain’ ),
‘update_item’ => __( ‘Update Item’, ‘text_domain’ ),
‘separate_items_with_commas’ => __( ‘Separate items with commas’, ‘text_domain’ ),
‘search_items’ => __( ‘Search Items’, ‘text_domain’ ),
‘add_or_remove_items’ => __( ‘Add or remove items’, ‘text_domain’ ),
‘choose_from_most_used’ => __( ‘Choose from the most used items’, ‘text_domain’ ),
‘not_found’ => __( ‘Not Found’, ‘text_domain’ ),
);
$rewrite = array(
‘slug’ => ‘taxonomy’,
‘with_front’ => true,
‘hierarchical’ => false,
);
$capabilities = array(
‘manage_terms’ => ‘manage_categories’,
‘edit_terms’ => ‘manage_categories’,
‘delete_terms’ => ‘manage_categories’,
‘assign_terms’ => ‘edit_posts’,
);
$args = array(
‘labels’ => $labels,
‘hierarchical’ => false,
‘public’ => true,
‘show_ui’ => true,
‘show_admin_column’ => true,
‘show_in_nav_menus’ => true,
‘show_tagcloud’ => true,
‘query_var’ => ”,
‘rewrite’ => $rewrite,
‘capabilities’ => $capabilities,
‘update_count_callback’ => ‘Update_Count_Callback’,
);
register_taxonomy( ‘taxonomy’, array( ‘post’ ), $args );
}
// Hook into the ‘init’ action
add_action( ‘init’, ‘wpp_custom_taxonomy’, ۰ );
[/php]
تابع register_taxonomy دارای ۳ پارامتر ورودی است که پارامتر اول نام طبقهبندی را مشخص میکند، پارامتر دوم آرایهای از نامهای نوع پستها مانند نوشتههای پیشفرض (post) یا هر نوع پست سفارشی که نیاز داشته باشید در آن از طبقهبندی استفاده کنید است، پارامتر سوم آرایهای از خصوصیتهای طبقهبندی که نیاز داریم است که به بررسی آن میپردازیم:
labels : آرایهای از عنوانهای استفاده شده در صفحات مربوط به طبقهبندی، شامل:
name : عنوان طبقهبندی
singular_name : عنوان تکی طبقهبندی
menu_name : عنوان منو
all_items : عنوان تمام آیتمها
parent_item : عنوان برای استفاده در حالتی که طبقهبندی قابلیت سلسلهای را داشته باشد
parent_item_colon : مانند parent_item
new_item_name : عنوان طبقهبندی جدید
add_new_item : عنوان افزودن آیتم جدید
edit_item : ویرایش طبقهبندی
update_item : بروزرسانی
separate_items_with_commas : عنوان نوشته برای حالتی که طبقهبندی قابلیت سلسلهای نداشته باشد تا کاربر بتواند آیتمها را با کاما (,) اضافه کند.
search_items : جستجوی طبقهبندی
add_or_remove_items : افزودن یا حذف آیتم
choose_from_most_used : انتخاب از بیشتر استفاده شده
not_found : در صورتی که طبقهبندی وجود نداشته باشد نمایش داده میشود
hierarchical : به معنی سلسه مراتبی است قابلیتی که این امکان را میدهد که آیتمی زیر مجموعه آیتم دیگر شود، اگر برابر true باشد مانند طبقهبندی پیشفرض دستهها و اگر برابر false قرار دهید مانند طبقهبندی پیشفرض برچسب خواهد شد.
public : وضعیت امکان کویری گرفتن از طبقهبندی را مشخص میکند. پیشفرض true
show_ui : نمایش در مدیریت
show_admin_column : نمایش ستون طبقهبندی در صفحه پستها
show_in_nav_menus : امکان استفاده/نمایش در فهرستها
show_tagcloud : قابلیت استفاده در ابزارک برچسب ابری
query_var : مقداری که در کویری پیشفرض وردپرس تنظیم میشود برای کویری گرفتن از طبقهبندی (اختیاری)
rewrite : در صورتی که بخواهید طبقهبندی را تغییر دهید میتوانید از این امکان استفاده کنید در غیر این صورت برابر با نامی هست که برای طبقهبندی تعیین میکنید. به صورت آرایهای تعیین میشود (اختیاری)
slug : تعیین نامک نوع پست سفارشی
with_front : تعیین استفاده در آدرسدهی پستها
hierarchical : قابلیت سلسلهای در صورتی که این امکان باشد
capabilities : لیست آرایهای تعیین قابلیتهای نویسنده/کاربر برای تغییر در طبقهبندی (اختیاری)
manage_terms : قابلیت نویسنده برای نمایش طبقهبندی، پیشفرض manage_categories
edit_terms : قابلیت نویسنده برای ویرایش طبقهبندی، پیشفرض manage_categories
delete_terms : قابلیت نویسنده برای ویرایش طبقهبندی، پیشفرض manage_categories
assign_terms : قابلیت نویسنده برای نسبت دادن به مطالب نوع پست، پیشفرض
مطالب مرتبط:
آموزش قرار دادن دکمه ی G+1 در وردپرس
آموزش حذف رونوشت ها در مطالب وردپرس
تفاوت بین تگ Alt و Title در تصاویر چیست؟
ایجاد سیستم پشتیبانی از طریق چت در وردپرس
منبع: تیک تم – ارائه دهنده مقالات: افزونه تجاری وردپرس – ویدیو آموزشی – وبلاگ
هنوز دیدگاهی برای این مطلب ثبت نشده است.