Custom Post Types (CPT) adalah mekanisme yang akan membawa situs WordPress Anda ke level selanjutnya dalam pengelolaan konten! Apakah Anda bosan memaksakan data “Produk,” “Event,” atau “Staf” ke dalam kerangka Post dan Page yang terbatas di WordPress? Jika ya, ini adalah panduan yang Anda tunggu.
Kami akan membahas CPT, mekanisme revolusioner yang akan mengubah situs Anda dari blog sederhana menjadi sistem content management system (CMS) yang sangat kuat dan terstruktur. Menguasai CPT adalah kunci untuk membangun situs yang benar-benar unik.
Fokus utama artikel ini adalah integrasi antara CPT dan Advanced Custom Fields (ACF), plugin wordpress paling populer untuk menambahkan data kustom. Dengan kombinasi ini, Anda dapat membangun struktur data yang benar-benar unik dan fleksibel untuk proyek WordPress Anda.
Apa Itu Custom Post Types (CPT) di WordPress?
Secara sederhana, Custom Post Types (CPT) adalah kategori konten tambahan yang memungkinkan Anda membuat jenis konten baru di WordPress, terpisah dari jenis konten standar seperti Post, Page, dan Media.
Bayangkan Anda membangun situs web untuk e-commerce atau direktori. Anda tidak mungkin menggunakan Post blog untuk menampilkan “Produk” atau Page untuk “Staf Kami”. Jenis konten ini membutuhkan wadah, tampilan, dan bidang data (custom field) yang spesifik. Di sinilah CPT berperan.
Setiap item dalam CPT akan disimpan sebagai baris unik di database WordPress, dikelompokkan berdasarkan nama unik (slug) yang Anda tetapkan (misalnya, produk, event, staf).
Mengapa CPT Wajib Digunakan oleh Developer WordPress?
Penggunaan CPT memberikan keunggulan signifikan dalam pengembangan wordpress profesional:
- Pengelolaan Konten yang Bersih: CPT menciptakan antarmuka admin yang terorganisir. Anda dapat mengelola “Resep” secara terpisah dari “Berita”, membuat editor konten Anda lebih efisien. Ini adalah kunci untuk sebuah CMS yang efektif.
- Fleksibilitas Desain: Anda memiliki kebebasan penuh dalam mendesain tampilan detail (melalui single template) dan tampilan daftar (melalui archive template) untuk setiap jenis konten.
- Optimasi SEO Struktural: Dengan struktur URL (slug) yang relevan (misalnya, /portfolio/judul-proyek), CPT membantu mesin pencari seperti Google memahami jenis dan hierarki konten Anda, yang sangat penting untuk SEO.
Perbandingan Metode Utama Pembuatan CPT
Ada tiga pendekatan utama untuk mendaftarkan Custom Post Types di WordPress. Pilihan Anda tergantung pada tingkat keahlian dan kebutuhan proyek.
- Kode Manual (register post type):
- Pro: Performa paling optimal, kontrol penuh, tidak tergantung plugin.
- Kontra: Membutuhkan pengetahuan PHP mendalam di file functions.php dan rentan kesalahan sintaks.
- Plugin Pendaftaran CPT (CPT UI atau Pods):
- Pro: Sangat mudah diakses melalui UI, tidak perlu menulis kode.
- Kontra: Menambahkan beban plugin tambahan ke situs WordPress Anda.
- ACF Pro (Metode Rekomendasi):
- Pro: Mengkonsolidasikan pendaftaran CPT, custom fields, dan custom taxonomy dalam satu antarmuka yang sudah kuat. Cocok untuk developer yang sudah berinvestasi pada ACF.
- Kontra: Membutuhkan lisensi ACF Pro (berbayar).
Dalam ekosistem wordpress modern, menggunakan ACF Pro adalah pendekatan paling efisien karena menyatukan pembuatan CPT dan data Custom Field di satu tempat.
Langkah 1: Membuat Custom Post Type Menggunakan ACF Pro
Jika Anda menggunakan plugin wordpress Advanced Custom Fields versi 6.0 atau lebih tinggi, Anda dapat mendaftarkan CPT tanpa plugin tambahan. Mari kita buat CPT dengan nama “Proyek” (menggantikan “Portfolio” agar lebih umum).
- Persiapan: Pastikan Anda telah menginstal dan mengaktifkan plugin ACF Pro.
- Akses UI CPT: Di Dashboard WordPress Anda, navigasikan ke menu ACF > Post Types.
- Label dan Slug: Klik “Add New” dan isi detailnya:
- Plural Label: Proyek
- Singular Label: Proyek
- Post Type Key (Slug): proyek (Wajib huruf kecil tanpa spasi. Ini akan menjadi slug URL).
- Konfigurasi Dasar:
- Public Visibility: Atur ke “Public” (✓) agar dapat diakses publik.
- Has Archive: Atur ke “True” (✓) untuk menghasilkan halaman arsip (misalnya, websitemu.com/proyek/).
- Pilih Fitur yang Didukung (Supports): Centang fitur standar WordPress yang akan Anda gunakan: Title, Editor, Featured Image, dan Custom Fields.
- Simpan: Klik “Save Changes”. Menu baru bernama “Proyek” akan muncul di Dashboard Anda.
Langkah 2: Membuat Custom Taxonomy (Taksonomi Kustom)
Untuk mengelompokkan item CPT “Proyek” lebih lanjut, kita memerlukan custom taxonomy. Mari kita buat taksonomi “Layanan” untuk memfilter proyek berdasarkan jenis layanan yang diberikan.
- Akses Taksonomi: Navigasi ke ACF > Taxonomies.
- Detail Taksonomi: Klik “Add New” dan isi:
- Plural Label: Layanan
- Singular Label: Layanan
- Taxonomy Key (Slug): layanan
- Atur Hierarki: Untuk taksonomi yang memiliki struktur induk/anak (seperti Kategori), atur “Hierarchical” ke “True” (✓).
- Hubungkan ke CPT: Pada bagian “Post Types”, pastikan Anda mencentang “Proyek”. Ini memastikan taksonomi “Layanan” hanya muncul pada CPT yang bersangkutan.
- Simpan: Klik “Save Changes”.
Langkah 3: Menambahkan Custom Fields dengan ACF
Setelah CPT dan custom taxonomy dibuat, langkah selanjutnya adalah menambahkan bidang data spesifik yang hanya muncul pada CPT “Proyek” menggunakan ACF.
Mari kita tambahkan bidang “Klien” dan “Budget Proyek”:
- Buat Field Group: Navigasi ke ACF > Field Groups dan klik “Add New”. Beri nama “Data Proyek”.
- Tambahkan Field 1 (Klien):
- Field Label: Nama Klien
- Field Name: nama_klien
- Field Type: Text
- Tambahkan Field 2 (Budget Proyek):
- Field Label: Budget Proyek
- Field Name: budget_proyek
- Field Type: Number
- Aturan Tampilan (Location Rules): Di bawah “Location Rules”, atur kondisi:
Show this Field Group if Post Type is equal to Proyek - Simpan: Klik “Save Changes”.
Sekarang, setiap item CPT “Proyek” yang Anda buat akan memiliki bidang “Nama Klien” dan “Budget Proyek” yang spesifik dan terstruktur.
Langkah 4: Menampilkan CPT di Frontend (Theming)
Menampilkan data CPT dan custom fields di frontend situs memerlukan pemahaman tentang hirarki template tema WordPress Anda.
- Tampilan Arsip (Daftar Item): WordPress akan menggunakan template bernama archive template: archive-proyek.php.
- Tampilan Tunggal (Detail Item): WordPress akan menggunakan template bernama single template: single-proyek.php.
Untuk memanggil data Custom Field dari ACF di dalam single template (single-proyek.php), Anda akan menggunakan fungsi-fungsi PHP ACF:
<?php
// Contoh menampilkan data Custom Field ACF di single-proyek.php
// Ambil nilai dari field "Nama Klien"
$klien = get_field('nama_klien');
// Ambil nilai dari field "Budget Proyek"
$budget = get_field('budget_proyek');
?>
<!-- Tampilkan data -->
<div class="project-info">
<p>Nama Klien: <strong><?php echo $klien; ?></strong></p>
<p>Estimasi Budget: Rp <?php echo number_format($budget, 0, ',', '.'); ?></p>
</div>
<?php
// Contoh menampilkan Custom Taxonomy "Layanan"
$terms = get_the_terms( get_the_ID(), 'layanan' );
if ( $terms && ! is_wp_error( $terms ) ) :
?>
<p>Kategori Layanan:
<?php foreach ( $terms as $term ) {
echo '<span>' . $term->name . '</span> ';
} ?>
</p>
<?php endif; ?>
Menggunakan kode ini, Anda mengontrol penuh bagaimana setiap detail CPT “Proyek” ditampilkan, memanfaatkan data yang dimasukkan melalui custom fields ACF.
Saatnya Transformasi: Situs Kustom Anda Menanti!
Custom Post Types adalah fondasi yang wajib dikuasai untuk setiap situs WordPress yang berfungsi sebagai content management system (CMS) yang sesungguhnya. Dengan menggabungkan kekuatan CPT dengan plugin wordpress Advanced Custom Fields (ACF), Anda mendapatkan kontrol data yang tidak terbatas.
Memilih ACF Pro untuk mendaftarkan CPT dan custom taxonomy sekaligus menyederhanakan alur kerja developer. Ini memungkinkan Anda berfokus pada merancang single template dan archive template yang efektif untuk kebutuhan frontend situs Anda.
Mulailah merencanakan struktur konten Anda. Tentukan custom fields dan taksonomi yang dibutuhkan, lalu gunakan ACF untuk mewujudkannya. Selamat membangun WordPress yang lebih kuat!
Referensi
Untuk pendalaman lebih lanjut, Anda dapat merujuk pada sumber otoritas berikut:
- Dokumentasi Resmi WordPress (Fungsi register post type)
- Dokumentasi Resmi Advanced Custom Fields (Panduan penggunaan ACF)
- Panduan Theming WordPress (Hierarki template dan implementasi functions.php)








