آموزش وردپرسافزونه وردپرس

نحوه ایجاد طبقه بندی‌های سفارشی در وردپرس

بسیاری از مردم فکر میکنند که وردپرس یک ابزار برای وبلاگ نویسی است، عمدتا به این دلیل که ویژگی‌هایی نظیر پست و دسته بندی و برچسب دارد. چیزی که اکثر مردم نمیدانند این است که تمام نوشته‌ها، دسته‌بندی‌ها و برچسب‌ها میتوانند با انواع پست سفارشی و طبقه بندی‌های سفارشی جایگزین شوند. در این مقاله قصد داریم نحوه ایجاد طبقه بندی‌های سفارشی در وردپرس و همچین نحوه نمایش طبقه بندی‌های سفارشی در پوسته وردپرس را آموزش دهیم.

طبقه بندی چیست؟

طبقه بندی در وردپرس از آن چیزهایی است که مردن اکثرا از آن استفاده میکنند اما خود از استفاده آن آگاهی ندارند. طبقه بندی در وردپرس بعنوان راهی برای گروه بندی انواع نوشته‌ها باهم میباشد. وردپرس دو مورد طبقه بندی محبوب دارد که کاربران همیشه از آنها استفاده میکنند: دسته بندی و برچسب ( مقاله ما درمورد تفاوت برچسب و دسته بندی را مطالعه کنید) شما میتوانید جهت ایجاد گروه‌های سفارشی از طبقه بندی سفارشی استفاده کنید. برای مثال فرض کنید یک نوشته سفارشی به نام کتاب‌ها دارید. با اینکه میتوانید یک دسته نیز با همین عنوان ایجاد کنید، ممکن است نخواهید این دو را باهم ادغام کنید زیرا کاربردهای متفاوتی دارند.برای این نوشته سفارشی میتوانید یک طبقه سفارشی به نام تاپیک ایجاد کنید. در این تاپیک میتوانید عناصری مانند: ماجراجویی، رمان، غیرداستانی و … را اضافه کنید. این کار به شما و کاربرانتان این امکان را میدهد که کتابهایتان را طبق هر تاپیک مرتب سازی کنید. همچنین طبقه بندی میتواند سلسله مراتبی باشد( مانند: داستانی، غیرداستانی و کودکان). طبقه‌های بالا میتوانند هرکدام دارای زیر طبقه باشند مثلا طبقه داستانی میتواند زیر طبقات عاشقانه، پلیسی، جنایی و … را داشته باشد.
اکنون که درمورد مفهوم طبقه بندی صحبت کردیم بیاید به نحوه ایجاد آن نیز نگاهی بیندازیم. ما از دو روش برای ایجاد طبقه بندی‌های سفارشی استفاده میکنیم، روش اول: استفاده از پلاگین که نیازی به کد نویسی ندارد، روش دوم: استفاده از کد برای کسانی که علاقه‌ای به استفاده از پلاگین ندارند.


مقاله مرتبط: چطور یک افزونه خاص وردپرس را در نسخه موبایل غیرفعال کنیم؟


ایجاد طبقه بندی سفارشی- راه آسانتر

اولین کاری که باید انجام دهید نصب و فعالسازی افزونه Simple Taxonomy است. سپس به مسیر تنظیمات » Simple Taxonomy بروید تا یک طبقه جدید ایجاد کنید.

ایجاد طبقه بندی سفارشی برای سایت وردپرس
ایجاد طبقه بندی سفارشی برای سایت وردپرس

اولین قسمت ایجاد یک طبقه بندی سفارشی ارائه یک نام برای طبقه مورد نظر است. گزینه بعدی hierarchical است که توسط آن باید انتخاب کنید طبقه بندی سلسله مراتبی باشد یا خیر. اگر میخواهید طبقه بندی شما مانند دسته بندی‌ها شامل طبقه والد و فرزند باشد گزینه True و در غیر اینصورت گزینه False را انتخاب کنید.
سومین گزینه‌ای که باید انتخاب کنید نوع پست طبقه بندی است و آخرین گزینه این است که آیا میخواهید عناصر بصورت خودکار اضافه شوند یا خیر.
حال فرض کنیم که یک طبقه بندی را ایجاد نموده و آن را با نام تاپیک در نظر میگیریم. حال باید جهت نمایش کلمات قابل ترجمه  سمت سایت ترجمه مناسب ارائه دهید.

ترجمه طبقه بندی سفارشی برای رابط کاربری
ترجمه طبقه بندی سفارشی برای رابط کاربری

پس از اینکه ترجمه را برای UI ارائه دادید، روی دکمه add taxonomy کلیک کنید. زمانی که طبقه بندی سفارشی ایجاد شد، این طبقه بندی در قسمت نوشته‌ها و با رابط کاربری نظیر دسته بندی یا برچسب ظاهر میشود. همچنین فیلد ایجاد یک طبقه بندی سفارشی نیز در ناحیه ویرایش پست نمایش داده میشود.

ایجاد تاپیک در سایت وردپرس
ایجاد تاپیک در سایت وردپرس

ایجاد دستی طبقه بندی سفارشی

کد زیر برای ایجاد یک طبقه بندی سفارشی مانند دسته بندی میباشد، آن را در فایل function.php قالب خود جایگذاری کنید.

//hook into the init action and call create_book_taxonomies when it fires
add_action( 'init', 'create_topics_hierarchical_taxonomy', 0 );
 
//create a custom taxonomy name it topics for your posts
 
function create_topics_hierarchical_taxonomy() {
 
// Add new taxonomy, make it hierarchical like categories
//first do the translations part for GUI
 
  $labels = array(
    'name' => _x( 'Topics', 'taxonomy general name' ),
    'singular_name' => _x( 'Topic', 'taxonomy singular name' ),
    'search_items' =>  __( 'Search Topics' ),
    'all_items' => __( 'All Topics' ),
    'parent_item' => __( 'Parent Topic' ),
    'parent_item_colon' => __( 'Parent Topic:' ),
    'edit_item' => __( 'Edit Topic' ), 
    'update_item' => __( 'Update Topic' ),
    'add_new_item' => __( 'Add New Topic' ),
    'new_item_name' => __( 'New Topic Name' ),
    'menu_name' => __( 'Topics' ),
  );    
 
// Now register the taxonomy
 
  register_taxonomy('topics',array('post'), array(
    'hierarchical' => true,
    'labels' => $labels,
    'show_ui' => true,
    'show_admin_column' => true,
    'query_var' => true,
    'rewrite' => array( 'slug' => 'topic' ),
  ));
 
}

 

برای ایجاد یک طبقه بندی که خاصیت سلسله مراتبی را نداشته باشد، نظیر برچسب‎ها، کد زیر را به فایل function.php پوشه theme خود اضافه کنید:

//hook into the init action and call create_topics_nonhierarchical_taxonomy when it fires
 
add_action( 'init', 'create_topics_nonhierarchical_taxonomy', 0 );
 
function create_topics_nonhierarchical_taxonomy() {
 
// Labels part for the GUI
 
  $labels = array(
    'name' => _x( 'Topics', 'taxonomy general name' ),
    'singular_name' => _x( 'Topic', 'taxonomy singular name' ),
    'search_items' =>  __( 'Search Topics' ),
    'popular_items' => __( 'Popular Topics' ),
    'all_items' => __( 'All Topics' ),
    'parent_item' => null,
    'parent_item_colon' => null,
    'edit_item' => __( 'Edit Topic' ), 
    'update_item' => __( 'Update Topic' ),
    'add_new_item' => __( 'Add New Topic' ),
    'new_item_name' => __( 'New Topic Name' ),
    'separate_items_with_commas' => __( 'Separate topics with commas' ),
    'add_or_remove_items' => __( 'Add or remove topics' ),
    'choose_from_most_used' => __( 'Choose from the most used topics' ),
    'menu_name' => __( 'Topics' ),
  ); 
 
// Now register the non-hierarchical taxonomy like tag
 
  register_taxonomy('topics','post',array(
    'hierarchical' => false,
    'labels' => $labels,
    'show_ui' => true,
    'show_admin_column' => true,
    'update_count_callback' => '_update_post_term_count',
    'query_var' => true,
    'rewrite' => array( 'slug' => 'topic' ),
  ));
}

 

به تفاوت میان دو تکه کد بالا دقت کنید. مقدار hierarchical برای طبقه بندی‌هایی که مانند دسته بندی هستند True و برای طبقه بندی هایی که مانند برچسب هستند False میباشد. همچنین متغیر labels که یک آرایه میباشد و مقادیر parent_item_colon و parent_item را در کد دوم که سلسله مراتبی نیست null قرار دادیم.


مقاله مرتبط: 4 روش برای جلوگیری از سرقت تصاویر در وردپرس


نمایش طبقه بندی سفارشی

جهت نمایش عناصری که به طبقه بندی سفارشی اضافه کردید به صفحه یک نوشته خاص، یک خط کد زیر را در فایل single.php داخل loop جایگذاری کنید.

<?php the_terms( $post->ID, 'topics', 'Topics: ', ', ', ' ' ); ?>

 

همچنین میتوانید این تکه کد را به سایر فایل‌ها مانند archive.php یا index.php یا هرجای دیگر که میخواهید طبقه بندی نمایش داده شود اضافه کنید.
بطور پیش فرض طبقه بندی سفارشی شما از قالب archive.php جهت نمایش پست‌ها استفاده میکند. با این حال، شما میتوانید بوسیله ایجاد یک فایل خاص برای نمایش طبقه بندی (مانند {taxonomy-slug}.php) یک بایگانی سفارشی برای نمایش آنها ایجاد کنید.

امیدواریم این مقاله را مفید دیده باشید. اگر سوال یا دیدگاهی دارید زیر همین پست کامنت بگذارید.

< آخرین آموزش‌های پایگاه دانش تسنیم را در تلگرام دنبال کنید >

نوشته های مشابه

‫3 دیدگاه ها

  1. سلام چطور می تونم یک فیلتر سلسله مراتبی ایجاد کنم؟ مثلا ماشین- قطعه ماشین و در مرحله اخر نوع قطعه
    ماشین 206
    گلاچ
    گلاچ گاز

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا