Apa Itu Post Type?
Bagi Anda pengguna Wordpress (WP) tentu pernah menjumpai sebuah plugin yang akan menambahkan menu pada halaman Administrator WP kita. Menu tersebut berisi fungsi posting seperti pada menu Post yang memang sudah tersedia di WP. Ada daftar posting dan juga kategori posting. Tapi dengan nama menu yang berbeda, tidak menggunakan nama Posting. Nah itulah yang dinamakan dengan post type.
Kapan Web Kamu Butuh Post Type?
Sebenarnya ada beberapa fungsi yang masih dapat diatasi menggunakan Post Category. Tapi kalau dalam postingan kamu butuh data-data tambahan yang berbeda dengan data standar posting maka sebaiknya kamu buat post type secara khusus. Misalnya kamu ingin menampilkan posting khusus untuk katalog buku yang didalamnya terdapat data-data tambahan seperti penulis, isbn, penerbit, tahun terbit, dll. Nah kebutuhan itu tidak dapat diatasi menggunakan posting biasa yang disediakan WP secara default. Oleh sebab itu kamu butuh post type dan metabox untuk mengatasinya.
Bagaimana Membuat Custom Post Type?
Untuk membuat custom post type kamu perlu menambahkan kode pada file functions.php. Buka file itu dan tambahkan kode berikut:
<?php
function tutorials_custom_post_type() {
$post_label = array(
"name" => __( "Tutorials", "textdomain" ),
"singular_name" => __( "Tutorial", "textdomain" ),
"add_new_item" => __("Add New Tutorial")
);
$post_support = array("title", "editor","tag", "thumbnail", "excerpt", "category", "author" );
$post_parameters = array(
"has_archive"=> true,
"labels" => $label,
"description" => "Tutorial from SHD Team",
"public" => true,
"menu_position" => 7,
"supports" => $post_support,
'show_in_rest' => true,
"show_in_admin_bar" => true,
"show_in_nav_menus" => true,
'taxonomies' => array('post_tag')
);
register_post_type("tutorials", $post_parameters);
$taxonomy_parameters = array(
"hierarchical" => true,
"label" => "Tutorial Categories",
"singular_label" => "Tutorial Category"
);
register_taxonomy("tutorial_category", array("tutorial"), $taxonomy_parameters);
register_taxonomy_for_object_type("tutorial_category","tutorials");
}
add_action("init", "tutorials_custom_post_type");
?>
Ada 5 tahap penting:
Menentukan label
Ini adalah untuk menentukan label atau keterangan dari post type yang akan kita buat.
Menentukan post support.
Post support ini sangat penting untuk menentukan fitur-fitur apa saja yang tersedia dalam posting tersebut. Jika pada post support ditentukan ada thumbnail, misalnya, maka dalam editor posting akan tersedia fitur untuk menambahkan gambar thumbnail.
Menentukan post type parameter.
Post parameter ini digunakan untuk memberikan pengaturan registrasi post type.
Registrasi post type
Registrasi post_type dilakukan menggunakan fungsi register_post_type("post_type_id", $parameters). post_type_id merupakan id dari post type yang kita buat. Ini sangat penting diketahui karena akan digunakan kalau kita akan menambahkan hal lain yang berkaitan dengan custom post ini, misalnya, menambahkan metabox atau kategori posting.
Registrasi taxonomy untuk menambahkan post category
Ini adalah proses yang membuat custom post kamu memiliki kategori posting. Jika proses ini tidak dilakukan maka saat menambahkan posting baru, kolom penentuan kategori tidak akan tersedia.
Kamu bisa otak-atik kode yang saya berikan diatas biar lebih tahu seluk-beluk tentang post type. Selamat mencoba!