Custom Post Type

WordPress pada dasarnya menyediakan dua post type default, yaitu: post dan page. Namun kita sebagai developer, dapat membuat sendiri custom post type.

Pada modul ini kita akan membuat post type event yang akan ditampilkan pada front-page.php

Pendekatan pertama adalah meregistrasikan post type pada functions.php

function post_types(){
        register_post_type('event', array(
            'public' => true,
            'labels' => array(
                'name' => 'Events',
                'add_new_item' => 'Add New Event',
                'edit_item' => 'Edit Event',
                'all_items' => 'All Events',
                'singular_name' => 'Event'
            ),
            'menu_icon' => 'dashicons-calendar-alt'
        ));
    }
    
add_action('init', 'post_types');

Fungsi register_post_type adalah fungsi WordPress untuk menambahkan custom post type. Untuk detail dokumentasi click disini. Untuk pilihan parameter menu_icon bisa lihat disini.

Setelah proses registrasi dilakukan, jika Anda buka Dashboard maka custom post type akan tampil. (lihat gambar dibawah).

Mari kita tambahkan beberapa post untuk event, yang akan kita gunakan untuk desain front-page.php.

Pendekatan diatas, dengan registrasi custom post type melalui functions.php memiliki kelemahan. Pengguna WordPress sangat mudah untuk mengganti theme bukan? Saat theme diganti, custom post type tidak dapat diakses.

Pendekatan yang lebih baik adalah lewat must use plugins. Must use plugins adalah folder pada WordPress file system. Saat ini belum tersedia, kita buat folder baru dengan nama mu-plugins di bawah wp-content.

Buat file php baru, namanya bebas, pada tutorial digunakan nama my-custom-posttype.php. Cut fungsi yang kita tulis diatas, pindahkan kedalam file ini.

Dengan menggunakan pendekatan mu-plugins, Event post type yang kita buat tetap dapat diakses walaupun user mengganti theme.

Kedua pendekatan diatas tidak ada yang salah atau benar, silakan gunakan sesuai dengan kebutuhan Anda.

Pada modul berikutnya kita akan modifikasi file front-page.php untuk menampilkan post event yang telah dibuat.

Sharing is caring:

1 thought on “Custom Post Type”

Leave a Comment