Cara Membuat Taksonomi Kustom

Diterbitkan: 2016-09-07

Ini adalah artikel kedua dari seri 3 bagian tentang topik jenis posting kustom (CPT). Topik yang dibahas dalam dua artikel lainnya adalah:

  • Jenis Posting Kustom dan cara membuatnya
  • Menampilkan jenis posting khusus – templat dan kueri

Dalam posting blog ini kita akan melihat cara membuat taksonomi khusus dan cara menghubungkannya dengan jenis posting khusus.

Apa itu taksonomi khusus?

Mari kita mulai dengan adil, apa itu taksonomi? Saya suka definisi resmi WordPress: Taksonomi adalah cara untuk mengelompokkan berbagai hal.

WordPress memiliki 4 taksonomi default: Kategori, Tag, Kategori Tautan, dan Format Posting. Pasti yang paling banyak digunakan dari keempatnya adalah kategori dan tag. Taksonomi kategori memungkinkan Anda mengelompokkan posting bersama dalam kategori logis, yang dapat Anda tentukan sendiri. Taksonomi tag sangat mirip, tetapi dapat digunakan lebih bebas. Satu kelompok dalam taksonomi disebut istilah. Setiap taksonomi juga memiliki halaman "indeks", di mana semua posting dari istilah yang sama ditampilkan (URL halaman ini terlihat seperti: 'taksonomi/istilah' ).

Jadi taksonomi khusus sesuai dengan namanya, ini adalah grup kiriman khusus Anda sendiri (atau jenis kiriman khusus). Jika kami memiliki ulasan buku sebagai jenis posting khusus, contoh taksonomi khusus yang baik adalah genre buku.

Sekedar menyegarkan ingatan: Pada artikel sebelumnya tentang Jenis Postingan Kustom, kami menggunakan contoh CPT Testimonial untuk tema Shaka kami, jadi kami akan terus menggunakannya di sini juga.

Jadi, kami memiliki jenis posting kustom Testimonial. Taksonomi khusus seperti apa yang kita inginkan? Grup mana yang masuk akal untuk kasus penggunaan ini? Kami dapat mengelompokkan testimonial berdasarkan layanan yang mereka maksud. Jadi kami bisa memiliki taksonomi layanan khusus (selancar, kiting, menyelam). Taksonomi khusus lainnya dapat berupa lokasi, di mana pengguna telah mengalami layanan ini dan seterusnya.

Anda dapat membuat taksonomi khusus untuk setiap grup logis yang dapat Anda pikirkan.

Bagaimana Anda bisa membuat taksonomi khusus?

Sama seperti jenis pos khusus, ada dua cara untuk mendaftarkan taksonomi khusus. Anda dapat membuatnya dengan plugin atau Anda dapat menulis sedikit kode PHP.

Alasan dan kasus penggunaan ketika melakukannya melalui plugin atau dengan kode sama dengan CPT, jadi silakan periksa di artikel pertama.

Di sini kita hanya akan melihat cara membuat taksonomi kustom dan bagaimana menghubungkannya dengan jenis posting kustom.

Buat taksonomi khusus dengan plugin – cara mudah

Kami akan menggunakan plugin Custom Post Type UI , untuk mendaftarkan taksonomi kustom, seperti yang kami lakukan untuk CPT di artikel sebelumnya:

  1. Instal dan aktifkan plugin Custom Post Type UI dari dashboard wp-admin Anda,
  2. Setelah Anda mengaktifkan plugin, item menu admin CPT UI akan tersedia . Buka UI CPT -> Tambah/Edit Taksonomi
  3. Masukkan siput taksonomi, nama jamak dan tunggal dan kemudian Anda harus memilih jenis posting mana yang akan dilampirkan taksonomi khusus yang baru dibuat ini (pengaturan default lainnya ok). Dalam kasus kami, kami menamai taksonomi khusus kami: testimonial_service dan kami melampirkannya ke jenis pos kustom testimonial, yang kami daftarkan di artikel sebelumnya: Tambahkan taksonomi
  4. Jika sekarang kita melihat layar untuk membuat jenis posting kustom testimonial baru, Anda akan melihat kotak meta Layanan Testimonial di sisi kanan dan juga item sub-menu di sebelah kiri: Tambah-baru-testimonial
  5. Itu saja, kami sekarang dapat menambahkan layanan baru yang akan mengelompokkan testimonial berdasarkan layanan yang mereka rujuk.

Buat taksonomi khusus secara manual – melibatkan pengkodean

Ya, judulnya memang mengatakan pengkodean terlibat, tapi itu tidak benar

Anda dapat menggunakan pembuat kode WP untuk menghasilkan kode taksonomi khusus. Cukup klik tab di bagian atas dan masukkan detail taksonomi khusus Anda. Generator akan menampilkan kode pendaftaran taksonomi khusus yang valid:

 // Register Custom Taxonomy function custom_taxonomy_testimonial_service() { $labels = array( 'name' => _x( 'Testimonial Services', 'Taxonomy General Name', 'text_domain' ), 'singular_name' => _x( 'Testimonial Service', 'Taxonomy Singular Name', 'text_domain' ), 'menu_name' => __( 'Testimonial Services', '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' ), 'view_item' => __( 'View Item', 'text_domain' ), 'separate_items_with_commas' => __( 'Separate items with commas', 'text_domain' ), 'add_or_remove_items' => __( 'Add or remove items', 'text_domain' ), 'choose_from_most_used' => __( 'Choose from the most used', 'text_domain' ), 'popular_items' => __( 'Popular Items', 'text_domain' ), 'search_items' => __( 'Search Items', 'text_domain' ), 'not_found' => __( 'Not Found', 'text_domain' ), 'no_terms' => __( 'No items', 'text_domain' ), 'items_list' => __( 'Items list', 'text_domain' ), 'items_list_navigation' => __( 'Items list navigation', '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( 'testimonial_service', array( 'testimonials' ), $args ); } add_action( 'init', 'custom_taxonomy_testimonial_service', 0 );

Anda dapat menempelkan kode ini ke plugin yang baru dibuat atau di file functions.php tema. Saya telah menempelkan kode langsung ke file functions.php, karena lebih nyaman untuk contoh ini. Item sub-menu Layanan Testimonial telah muncul di bawah menu dasbor admin Testimonial dan kotak meta juga ada di sana, seperti pada tangkapan layar di pengaturan plugin di atas.

Registrasi manual taksonomi kustom berfungsi, jadi mari kita analisis kodenya dan lihat apa fungsinya. Struktur kode sangat mirip dengan pendaftaran jenis posting kustom di artikel pertama, tetapi bervariasi dalam beberapa pengaturan dan panggilan fungsi:

  • Kami menghubungkan fungsi custom_taxonomy_testimonial_service ke dalam tindakan init WP untuk mendaftarkan taksonomi khusus,
  • Blok kode pertama di dalam fungsi adalah array label, di mana Anda dapat mengubah kata-kata yang akan digunakan saat membuat/mengedit taksonomi khusus. Tip: Saya akan menyarankan Anda menggunakan fungsi internasionalisasi melarikan diri. Jadi alih-alih _x() dan __() saya akan menggunakan esc_html_x() dan esc_html__() ,
  • Blok kedua adalah larik argumen/pengaturan untuk taksonomi khusus. Anda dapat melihat dokumentasi WP resmi, untuk melihat argumen mana yang dapat Anda atur,
  • Dengan register_taxonomy( 'testimonial_service', array( 'testimonials' ), $args ); panggilan, kami mendaftarkan taksonomi kustom testimonial_service yang akan "melampirkan" ke jenis posting kustom testimonials dengan argumen $args .

Sekarang kita memiliki jenis posting kustom dan taksonomi kustom terdaftar, kita hanya perlu menampilkannya di situs WordPress kita. Ini akan menjadi topik posting blog berikutnya dan terakhir tentang jenis posting khusus.