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

///ایجاد و کار با طبقه بندی های سفارشی

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

سایر بخش های سری آموزشی " ایجاد افزونه وردپرس "

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

post-new-page

همانطور که مشاهده می کنید، تا به اینجا ما تنها دسته ها و برچسب ها را که طبقه بندی های پیشفرض خود وردپرس هستند را داریم. پس بهتر است که به سراغ آموزش رفته و طبقه بندی سفارشی خودمان را ایجاد و اضافه کنیم.

 

گام۱ – ایجاد افزونه جدید

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

 

گام۲ – ایجاد طبقه بندی سفارشی

کدهای زیر را به فایل افزونه اضافه کنید:

<?php
/*
* Plugin Name: Courses Taxonomy
* Description: A short example showing how to add a taxonomy called Courses.
* Version: 1.0
* Author: Payam
* Author URI: https://wprahnama.com/
*/
 
// hook into the init action and call create_course_taxonomies when it fires
add_action( 'init', 'create_course_taxonomies', 0 );
 
// create two taxonomies, course and writers for the post type "post"
function create_course_taxonomies() {
    // Add new taxonomy, make it hierarchical (like categories)
    $labels = array(
        'name'              => _x( 'Courses', 'taxonomy general name' ),
        'singular_name'     => _x( 'Course', 'taxonomy singular name' ),
        'search_items'      => __( 'Search Courses' ),
        'all_items'         => __( 'All Courses' ),
        'parent_item'       => __( 'Parent Course' ),
        'parent_item_colon' => __( 'Parent Course:' ),
        'edit_item'         => __( 'Edit Course' ),
        'update_item'       => __( 'Update Course' ),
        'add_new_item'      => __( 'Add New Course' ),
        'new_item_name'     => __( 'New Course Name' ),
        'menu_name'         => __( 'Course' ),
    );
 
    $args = array(
        'hierarchical'      => true,
        'labels'            => $labels,
        'show_ui'           => true,
        'show_admin_column' => true,
        'query_var'         => true,
        'rewrite'           => array( 'slug' => 'course' ),
    );
 
    register_taxonomy( 'course', array( 'post' ), $args );
}
?>

 

گام۳- مشاهده نتیجه کار

افزونه ای که طراحی کرده اید را فعال کنید و به صفحه افزودن نوشته بروید تا مطمئن شوید که طبقه بندی سفارشی با موفقیت به صفحه اضافه شده باشد.

Register-Taxonomy

 

بررسی کدهای استفاده های شده

تا به اینجا مراحل اضافه کردن طبقه بندی سفارشی را به شما نشان دادیم، اما بهتر است کدهای استفاده شده را هم بررسی کنیم تا از نحوه انجام این کار اطلاعات بیشتری را بدست آورید.

 

هوک Action

// hook into the init action and call create_course_taxonomies when it fires
add_action( 'init', 'create_course_taxonomies', 0 );

با استفاده از این اکشن تابع ایجاد طبقه بندی سفارشی را به وردپرس اضافه کردیم.

 

ایجاد تابع

// create two taxonomies, course and writers for the post type "post"
function create_course_taxonomies() {

پس از اینکه مشخص کردیم که قرار است از چه تابعی استفاده شود، باید آن را ایجاد کنیم که در اینجا نام تابع ما create_course_taxonomies است.

 

برچسب ها

$labels = array(
    'name'              => _x( 'Courses', 'taxonomy general name' ),
    'singular_name'     => _x( 'Course', 'taxonomy singular name' ),
    'search_items'      => __( 'Search Courses' ),
    'all_items'         => __( 'All Courses' ),
    'parent_item'       => __( 'Parent Course' ),
    'parent_item_colon' => __( 'Parent Course:' ),
    'edit_item'         => __( 'Edit Course' ),
    'update_item'       => __( 'Update Course' ),
    'add_new_item'      => __( 'Add New Course' ),
    'new_item_name'     => __( 'New Course Name' ),
    'menu_name'         => __( 'Course' ),
);

با استفاده از آرایه به المان های مختلف نامی اختصاص می دهیم تا در ناحیه مدیریت وردپرس بتوانیم به راحتی از آنها استفاده کنیم. بنابراین این آرایه کار خاصی به جزء اعلان اسمامی نمی کند.

 

آرگمان ها

$args = array(
    'hierarchical'      => true,
    'labels'            => $labels,
    'show_ui'           => true,
    'show_admin_column' => true,
    'query_var'         => true,
    'rewrite'           => array( 'slug' => 'course' ),
);

آرایه استفاده شده در این قسمت به وردپرس مشخص می کند که طبقه بندی سفارشی را به چه شیوه ای باید به کار گیرد.

  • hierarchical: مقدار true مشخص می کند که از ساختار سلسله مراتبی که برای دسته ها استفاده می شود، در این طبقه بندی نیز استفاده شود.
  • labels: این گزینه در بند قبلی توضیح داده شده است.
  • show_ui: برای نمایش یا عدم نمایش UI استفاده می شود و از مقدار true یا false باید استفاده کرد.
  • show_admin_column: ستون طبقه بندی سفارشی را به صفحه همه نوشته ها اضافه می کند.
  • query_var: در صورتی که بخواهید از طبقه بندی سفارشی در کوئری های وردپرس استفاده کنید، مقدار این آرگان را true تنظیم کنید.
  • rewrite: آدرس URL طبقه بندی را مشخص می کند.

 

تابع register_taxonomy

register_taxonomy( 'course', array( 'post' ), $args );

در انتها با استفاده از این تابع طبقه بندی سفارشی را به سیستم وردپرس اضافه می کنیم.

نویسنده: |۱۳۹۵/۵/۶ ۱۲:۳۴:۴۳۶ مرداد ۱۳۹۵|ساخت افزونه وردپرس, سری آموزشی|فاقد دیدگاه

درباره نویسنده:

از زمانی که اولین سایت خودم رو با وردپرس راه اندازی کردم به این سیستم مدیریت محتوا علاقه مند شدم و برای راه اندازی اکثر سایت ها از اون استفاده کردم.

نظر شما چیست