ایجاد و کار با طبقه بندی های سفارشی پیام کیوانی Rating: 5.0 out of 5
در این مقاله از راهنمای وردپرس می خواهیم که یک طبقه بندی سفارشی ایجاد کنیم، اما قبل از اینکه به سراغ آموزش برویم، بهتر است که نگاهی به دو طبقه بندی موجود بیندازیم.
همانطور که مشاهده می کنید، تا به اینجا ما تنها دسته ها و برچسب ها را که طبقه بندی های پیشفرض خود وردپرس هستند را داریم. پس بهتر است که به سراغ آموزش رفته و طبقه بندی سفارشی خودمان را ایجاد و اضافه کنیم.
گام۱ – ایجاد افزونه جدید
برای اینکه بتوانیم طبقه بندی سفارشی خودمان را ایجاد کنیم، لازم است که یک افزونه جدید طراحی کنیم. آموزش طراحی افزونه را می توانید در جلسات قبلی همین سری مشاهده کنید.
گام۲ – ایجاد طبقه بندی سفارشی
کدهای زیر را به فایل افزونه اضافه کنید:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
<?php /* * Plugin Name: Courses Taxonomy * Description: A short example showing how to add a taxonomy called Courses. * Version: 1.0 * Author: Payam * Author URI: http://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 ); } ?> |
گام۳- مشاهده نتیجه کار
افزونه ای که طراحی کرده اید را فعال کنید و به صفحه افزودن نوشته بروید تا مطمئن شوید که طبقه بندی سفارشی با موفقیت به صفحه اضافه شده باشد.
بررسی کدهای استفاده های شده
تا به اینجا مراحل اضافه کردن طبقه بندی سفارشی را به شما نشان دادیم، اما بهتر است کدهای استفاده شده را هم بررسی کنیم تا از نحوه انجام این کار اطلاعات بیشتری را بدست آورید.
هوک 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 است.
برچسب ها
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$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' ), ); |
با استفاده از آرایه به المان های مختلف نامی اختصاص می دهیم تا در ناحیه مدیریت وردپرس بتوانیم به راحتی از آنها استفاده کنیم. بنابراین این آرایه کار خاصی به جزء اعلان اسمامی نمی کند.
آرگمان ها
|
1 2 3 4 5 6 7 8 |
$args = array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'course' ), ); |
آرایه استفاده شده در این قسمت به وردپرس مشخص می کند که طبقه بندی سفارشی را به چه شیوه ای باید به کار گیرد.
تابع register_taxonomy
|
register_taxonomy( 'course', array( 'post' ), $args ); |
در انتها با استفاده از این تابع طبقه بندی سفارشی را به سیستم وردپرس اضافه می کنیم.
برچسب:
نویسنده: محمد رضا جوادیان