Taxonomy (อนุกรมวิธาน)

อนุกรมวิธานใช้ในการจัดหมวดหมู่แบบลำดับชั้นของสิ่งต่างๆ เช่น หัวข้อ หรือประเภท เป็นต้น ซึ่ง taxonomy ถูกจัดเก็บไว้ที่ตารางชื่อ term_taxonomy เพื่อให้นักพัฒนาสามารถลงทะเบียนใช้งาน taxonomy ได้ ยกตัวอย่างรูปแบบการใช้งาน taxonomy กับข้อมูลเกี่ยวกับรถ ซึ่งรถนั้นสามารถแยกออกเป็นหลายประเภท (type) และแต่ละประเภทสามารถแยกย่อยเป็นหลายรุ่นโดยใช้ taxonomy เป็นต้น

ไวยากรณ์

register_taxonomy( string $taxonomy, array|string $object_type, array|string $args = array() )  

 

  • $taxonomy กำหนดคีย์ taxonomy (จำนวนอักขระไม่เกิน 32 ตัว)
  • $object_type ประเภทของวัตถุที่เชื่อมโยงในการจัดหมวดหมู่
  • $args อาร์กิวเมนต์สตริงที่เกี่ยวข้องกับการลงทะเบียน taxonomy ซึ่งประกอบไปด้วยหลายอย่าง โดยในที่นี้จะยกมาเพียงไม่กี่อย่างดังต่อไปนี้
    • ‘label’ (อาร์เรย์) อาร์เรย์ของป้ายชื่อสำหรับการจัดหมวดหมู่นี้ โดยค่าเริ่มต้นป้ายกำกับแท็กจะใช้สำหรับการจัดหมวดหมู่ที่ไม่ใช่ลำดับชั้นและป้ายหมวดหมู่จะใช้สำหรับการจัดหมวดหมู่แบบลำดับชั้น
    • ‘description’ (สตริง) อธิบายสั้นๆเกี่ยวกับ taxonomy

 

ตัวอย่างการใช้ taxonomy

<?php
/*
* Plugin Name: Course Taxonomy
* Description: ตัวอย่างจาก wordpress.org
* Version: 1.0
*/


function wporg_register_taxonomy_course()

{

    $labels = [

'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 = [

'hierarchical'      => true, // make it hierarchical (like categories)
'labels'            => $labels,
'show_ui'           => true,
'show_admin_column' => true,
'query_var'         => true,
'rewrite'           => ['slug' => 'course'],
];
register_taxonomy('course', ['post'], $args);
}

add_action('init', 'wporg_register_taxonomy_course');

 

อธิบาย

  • ฟังก์ชัน wporg_register_taxonomy_course() นี้ประกอบด้วยขั้นตอนทั้งหมดที่จำเป็นสำหรับการลงทะเบียน Custom Taxonomy
  • $labels อาร์เรย์ ถือป้ายสำหรับอนุกรมวิธานที่กำหนดเอง ป้ายกำกับเหล่านี้จะใช้สำหรับแสดงข้อมูลต่างๆเกี่ยวกับการจัดหมวดหมู่ในพื้นที่การดูแลระบบ
  • $args อาร์เรย์เก็บตัวเลือกการกำหนดค่าที่จะนำมาใช้เมื่อมีการสร้างอนุกรมวิธานของเราเอง ฟังก์ชัน register_taxonomy() สร้าง Taxonomy ใหม่ด้วยตัวระบุ course สำหรับ postPost Type โดยใช้ $args อาร์เรย์สำหรับการกำหนดค่า
  • ฟังก์ชัน add_action() ผูก wporg_register_taxonomy_course() เรียกใช้ฟังก์ชันเข้ากับ initaction hook

หากคุณพบคำที่สะกดผิด เว้นวรรคไม่ถูกต้อง ฯ โปรดแจ้งให้เราทราบ โดยลากคลุม (highlight) ข้อความนั้น แล้วกด Ctrl + Enter

ไม่สามารถคัดลอกเนื้อหานี้

Spelling error report

The following text will be sent to our editors: