Table of Contents
▼- Membuat Custom Post Type WordPress: Panduan Lengkap untuk Mengelola Konten Lebih EfektifSetiap pemilik website yang menggunakan WordPress pasti pernah merasakan tantangan dalam mengorganisir berbagai jenis konten. Anda mungkin sudah familiar dengan kategori konten standar seperti 'Post' untuk artikel berita atau blog, dan 'Page' untuk halaman statis seperti 'Tentang Kami' atau 'Kontak'. Namun, bagaimana jika Anda memerlukan jenis konten yang lebih spesifik, seperti portofolio, testimoni pelanggan, produk, atau ulasan? Di sinilah konsep Custom Post Type (CPT) menjadi sangat relevan.Membuat custom post type di WordPress memungkinkan Anda untuk memperluas fungsionalitas dasar WordPress dan menyajikan informasi dengan cara yang lebih terstruktur dan mudah dikelola. Artikel ini akan memandu Anda secara mendalam, mulai dari pemahaman dasar hingga langkah-langkah praktis, untuk membuat custom post type Anda sendiri. Kami akan membahas berbagai metode, baik yang memanfaatkan plugin yang user-friendly maupun yang memerlukan sentuhan koding manual, agar Anda dapat memilih cara yang paling sesuai dengan tingkat keahlian dan kebutuhan proyek Anda. Bersiaplah untuk membawa pengelolaan konten website Anda ke level berikutnya!Apa Itu Custom Post Type di WordPress?Secara sederhana, custom post type adalah jenis konten baru yang Anda tambahkan ke dalam sistem manajemen konten WordPress. WordPress secara bawaan memiliki beberapa tipe postingan default, yaitu:Post: Digunakan untuk konten yang bersifat dinamis dan sering diperbarui, seperti artikel berita, postingan blog, dan pengumuman. Biasanya diurutkan berdasarkan tanggal publikasi. Page: Digunakan untuk konten statis yang jarang berubah, seperti halaman 'Tentang Kami', 'Kebijakan Privasi', atau halaman kontak. Attachment: Merupakan media yang diunggah ke WordPress, seperti gambar, video, atau dokumen. Revision: Catatan otomatis dari setiap perubahan yang Anda buat pada postingan atau halaman.Custom Post Type memperluas daftar ini. Alih-alih hanya terbatas pada 'Post' dan 'Page', Anda dapat membuat tipe konten baru yang sesuai dengan kebutuhan spesifik website Anda. Misalnya, jika Anda menjalankan website toko online, Anda bisa membuat custom post type 'Produk'. Jika Anda seorang fotografer, Anda bisa membuat custom post type 'Galeri' atau 'Portofolio'. Jika Anda memiliki website restoran, Anda bisa membuat custom post type 'Menu'.Setiap custom post type dapat memiliki struktur, field, dan pengaturannya sendiri yang berbeda dari post atau page standar. Ini memberikan fleksibilitas luar biasa dalam mengorganisir dan menampilkan konten yang unik.Mengapa Custom Post Type Penting untuk Website Anda?Penggunaan custom post type bukan sekadar tentang menambah variasi, tetapi membawa manfaat signifikan dalam pengelolaan dan pengalaman pengguna website Anda. Berikut adalah beberapa alasan mengapa custom post type sangat penting:1. Organisasi Konten yang Lebih BaikBayangkan jika Anda memiliki ratusan entri produk, testimoni, atau item portofolio yang semuanya dimasukkan ke dalam kategori 'Post' standar. Mencari, mengedit, atau mengelola konten-konten tersebut akan menjadi mimpi buruk. Custom post type memungkinkan Anda untuk mengelompokkan konten serupa secara terpisah. Di dashboard WordPress, Anda akan memiliki menu terpisah untuk setiap custom post type, membuatnya jauh lebih mudah untuk menemukan dan mengelola entri spesifik.2. Tampilan Konten yang Lebih Spesifik dan TerarahSetiap custom post type dapat didesain secara unik. Anda dapat menentukan template tampilan yang berbeda untuk 'Produk' dibandingkan dengan 'Artikel Blog'. Ini memungkinkan Anda menampilkan informasi tambahan yang relevan untuk tipe konten tersebut. Misalnya, untuk produk, Anda mungkin ingin menampilkan harga, stok, varian, dan spesifikasi teknis. Untuk testimoni, Anda mungkin ingin menampilkan nama pelanggan, perusahaan, dan rating. Dengan custom post type, Anda dapat mengintegrasikan field-field ini secara mulus.3. Peningkatan Pengalaman Pengguna (UX)Ketika konten diorganisir dengan baik dan ditampilkan dengan cara yang relevan, pengalaman pengguna di website Anda akan meningkat drastis. Pengunjung dapat dengan mudah menemukan informasi yang mereka cari, menavigasi website dengan lebih intuitif, dan mendapatkan gambaran yang jelas tentang apa yang Anda tawarkan. Ini sangat krusial untuk website yang memiliki banyak variasi konten, seperti e-commerce, direktori, atau platform keanggotaan.4. Fleksibilitas untuk Kustomisasi LanjutanCustom post type membuka pintu untuk kustomisasi yang lebih mendalam. Anda dapat dengan mudah menghubungkan custom post type dengan taksonomi kustom (kategori atau tag khusus untuk tipe postingan tersebut), menambahkan custom fields untuk data tambahan, dan bahkan mengintegrasikannya dengan plugin lain untuk fungsionalitas yang lebih canggih.5. Fondasi untuk Pengembangan Fitur KompleksJika Anda berencana untuk mengembangkan fitur yang lebih kompleks di masa depan, seperti sistem pemesanan, direktori bisnis, atau database keanggotaan, custom post type adalah fondasi yang kuat. Anda dapat membangun fungsionalitas ini di atas struktur custom post type yang sudah ada.Bagaimana Cara Membuat Custom Post Type di WordPress?Ada beberapa cara untuk membuat custom post type di WordPress, mulai dari metode yang paling mudah menggunakan plugin hingga metode yang lebih teknis dengan koding manual. Kami akan membahas metode-metode ini secara rinci.Metode 1: Menggunakan Plugin untuk Membuat Custom Post Type (Cara Termudah)Bagi sebagian besar pengguna, terutama yang kurang memiliki pengalaman koding, menggunakan plugin adalah cara yang paling direkomendasikan. Plugin ini menyediakan antarmuka yang ramah pengguna untuk membuat dan mengelola custom post type tanpa perlu menyentuh kode.A. Menggunakan Plugin Custom Post Type UI (CPT UI)Custom Post Type UI (CPT UI) adalah salah satu plugin paling populer dan tepercaya untuk membuat custom post type di WordPress. Plugin ini gratis dan memiliki jutaan pengguna aktif.Langkah-langkahnya adalah sebagai berikut: Instal dan Aktifkan Plugin: Buka dashboard WordPress Anda. Navigasikan ke Plugins > Add New. Cari "Custom Post Type UI". Klik "Install Now", lalu "Activate". Akses Menu CPT UI: Setelah diaktifkan, Anda akan melihat menu baru bernama "CPT UI" di sidebar kiri dashboard WordPress Anda. Membuat Post Type Baru: Klik "CPT UI", lalu pilih "Add/Edit Post Types". Isi Detail Post Type: Post Type Slug: Ini adalah nama teknis untuk post type Anda, yang akan digunakan dalam URL. Gunakan huruf kecil, tanpa spasi, dan gunakan underscore (_) jika perlu memisahkan kata (misalnya, nama_produk). Plural Label: Nama umum untuk tipe postingan Anda dalam bentuk jamak (misalnya, "Produk", "Portofolio", "Resep"). Ini akan muncul di menu navigasi dashboard. Singular Label: Nama tipe postingan Anda dalam bentuk tunggal (misalnya, "Produk", "Portofolio", "Resep"). Ini akan digunakan saat menambahkan item baru. Public: Atur ke True jika Anda ingin post type ini terlihat oleh publik di frontend website Anda. Show UI: Atur ke True jika Anda ingin melihat antarmuka untuk mengelola post type ini di dashboard. Show Menu: Atur ke True agar post type ini muncul sebagai menu di sidebar dashboard. Menu Position: Menentukan posisi menu di sidebar (misalnya, 5 untuk posisi di bawah Post). Supports: Pilih fitur-fitur standar yang ingin Anda dukung untuk post type ini (misalnya, Title, Editor, Featured Image, Excerpt, Comments, Custom Fields). Taxonomies: Jika Anda ingin menggunakan kategori atau tag khusus untuk post type ini, Anda bisa memilihnya di sini. Anda juga bisa membuat taksonomi kustom baru nanti. Otomatisasi Label Tambahan: Setelah mengisi label dasar, Anda bisa mengklik tombol "Auto-populate labels" untuk mengisi sebagian besar label tambahan secara otomatis. Anda bisa menyesuaikannya nanti jika diperlukan. Tambahkan Post Type: Setelah semua detail terisi, klik tombol "Add Post Type" di bagian bawah. Setelah Anda berhasil menambahkan post type, Anda akan melihat menu baru di sidebar dashboard WordPress Anda sesuai dengan nama yang Anda berikan. Anda sekarang dapat mulai menambahkan entri baru untuk custom post type Anda.B. Menggunakan Plugin PodsPods adalah plugin lain yang sangat kuat dan serbaguna yang memungkinkan Anda membuat custom post type, custom fields, taksonomi kustom, dan bahkan objek kustom lainnya. Pods menawarkan lebih banyak kontrol dan fleksibilitas dibandingkan CPT UI, tetapi mungkin terasa sedikit lebih kompleks bagi pemula.Langkah-langkah menggunakan Pods: Instal dan Aktifkan Plugin: Buka dashboard WordPress Anda. Navigasikan ke Plugins > Add New. Cari "Pods". Klik "Install Now", lalu "Activate". Akses Menu Pods Admin: Setelah diaktifkan, Anda akan melihat menu "Pods Admin" di sidebar kiri dashboard. Membuat Konten Tipe Baru: Klik "Pods Admin", lalu pilih "Add New". Pilih Tipe Konten: Pada halaman "Add New Pod", Anda akan melihat pilihan seperti "Create New" atau "Extend Existing". Pilih "Create New" untuk membuat tipe konten yang benar-benar baru. Konfigurasi Tipe Konten: Label (Singular): Nama tipe konten dalam bentuk tunggal (misalnya, "Buku"). Label (Plural): Nama tipe konten dalam bentuk jamak (misalnya, "Buku-buku"). Post Type Slug: Nama teknis untuk tipe konten Anda (misalnya, books). Pilih opsi lain yang relevan, seperti apakah ingin menampilkan di admin bar, posisi menu, dll. Tambahkan Field (Kolom): Setelah menyimpan pengaturan dasar, Anda akan diarahkan ke halaman untuk mengelola field. Klik "Add Field". Label: Nama field yang akan dilihat pengguna (misalnya, "Penulis", "Tahun Terbit"). Name: Nama teknis field (misalnya, author, tahun_terbit). Field Type: Pilih jenis field yang sesuai (misalnya, Text, Text Area, Number, Date, Image, Select, dll.). Ulangi langkah ini untuk menambahkan semua field yang Anda butuhkan. Simpan Pod: Setelah selesai menambahkan field, klik tombol "Save Pod" di bagian atas atau bawah halaman. Sama seperti CPT UI, Pods akan membuat menu baru di sidebar Anda untuk tipe konten yang baru Anda buat. Anda kemudian dapat mulai menambahkan entri baru. Kelebihan Pods adalah kemampuannya untuk membuat custom fields secara langsung saat membuat post type, yang sangat efisien.Metode 2: Membuat Custom Post Type Secara Manual (Memerlukan Pengetahuan Koding)Jika Anda merasa nyaman dengan koding atau ingin mengurangi ketergantungan pada plugin, Anda bisa membuat custom post type secara manual. Ada dua pendekatan utama untuk ini: mengedit file functions.php tema Anda, atau membuat plugin kustom Anda sendiri.A. Mengedit File `functions.php` TemaIni adalah cara yang paling cepat untuk mengimplementasikan custom post type tanpa plugin, namun memiliki kelemahan besar. Jika tema Anda diperbarui atau diganti, semua perubahan pada file functions.php akan hilang, termasuk custom post type yang Anda buat. Oleh karena itu, metode ini tidak disarankan untuk jangka panjang.Langkah-langkahnya: Akses File functions.php: Buka dashboard WordPress Anda. Navigasikan ke Appearance > Theme File Editor. Di sebelah kanan, cari file Theme Functions (functions.php). Tambahkan Kode PHP: Di dalam file functions.php, tambahkan kode berikut di bagian akhir (sebelum tag penutup ?> jika ada, atau di akhir file jika tidak ada): function create_custom_post_type() $labels = array( 'name' => _x( 'Produk', 'post type general name', 'your-text-domain' ), 'singular_name' => _x( 'Produk', 'post type singular name', 'your-text-domain' ), 'menu_name' => _x( 'Produk', 'admin menu', 'your-text-domain' ), 'name_admin_bar' => _x( 'Produk', 'add new on admin bar', 'your-text-domain' ), 'add_new' => __( 'Tambah Baru', 'your-text-domain' ), 'add_new_item' => __( 'Tambah Produk Baru', 'your-text-domain' ), 'edit_item' => __( 'Edit Produk', 'your-text-domain' ), 'view_item' => __( 'Lihat Produk', 'your-text-domain' ), 'all_items' => __( 'Semua Produk', 'your-text-domain' ), 'search_items' => __( 'Cari Produk', 'your-text-domain' ), 'parent_item_colon' => __( 'Produk Induk:', 'your-text-domain' ), 'not_found' => __( 'Tidak ada produk ditemukan.', 'your-text-domain' ), 'not_found_in_trash' => __( 'Tidak ada produk di tempat sampah.', 'your-text-domain' ) ); $args = array( 'labels' => $labels, 'description' => __( 'Menyimpan informasi produk.', 'your-text-domain' ), 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'produk' ), // Ganti 'produk' dengan slug yang Anda inginkan 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => 5, 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'custom-fields' ), 'show_in_rest' => true // Aktifkan untuk Gutenberg editor ); register_post_type( 'produk', $args ); // Ganti 'produk' dengan nama slug unik Anda add_action( 'init', 'create_custom_post_type' );Penjelasan Kode: create_custom_post_type(): Fungsi utama yang akan mendaftarkan post type baru. $labels: Array ini mendefinisikan label yang akan muncul di dashboard WordPress untuk post type Anda (misalnya, "Tambah Baru", "Semua Produk"). Ganti 'your-text-domain' dengan teks domain tema Anda atau biarkan jika tidak yakin. $args: Array ini berisi argumen konfigurasi untuk post type Anda: 'public' => true: Membuat post type terlihat oleh publik. 'rewrite' => array( 'slug' => 'produk' ): Menentukan slug URL untuk post type Anda (misalnya, namadomain.com/produk/). Ganti 'produk' sesuai kebutuhan. 'menu_position' => 5: Menentukan posisi menu di sidebar. 'supports': Menentukan fitur apa saja yang didukung. register_post_type( 'produk', $args ): Fungsi inti WordPress untuk mendaftarkan post type baru. Ganti 'produk' dengan slug unik yang Anda pilih. add_action( 'init', 'create_custom_post_type' ): Menghubungkan fungsi pendaftaran post type Anda dengan hook init WordPress. Simpan Perubahan: Setelah menambahkan kode, klik tombol "Update File". Setelah itu, refresh dashboard WordPress Anda, dan Anda akan melihat menu baru untuk custom post type yang baru saja Anda buat.B. Membuat Plugin Custom Post Type SendiriIni adalah metode yang paling direkomendasikan untuk membuat custom post type secara manual karena keandalannya. Dengan membuat plugin sendiri, custom post type Anda akan tetap ada meskipun Anda mengganti atau memperbarui tema.Langkah-langkahnya: Akses File Server Anda: Anda memerlukan akses ke file server website Anda, biasanya melalui cPanel atau FTP client. Navigasi ke Direktori Plugin: Masuk ke wp-content/plugins/. Buat Folder Plugin Baru: Buat folder baru untuk plugin Anda. Beri nama yang deskriptif, misalnya my-custom-post-types. Buat File Plugin Utama: Di dalam folder plugin yang baru Anda buat, buat file PHP baru. Beri nama yang sama dengan nama folder, misalnya my-custom-post-types.php. Tambahkan Header Plugin: Buka file my-custom-post-types.php dengan editor teks dan tambahkan header plugin seperti ini: <?php /* Plugin Name: Custom Post Type Saya Description: Plugin untuk membuat custom post type kustom. Version: 1.0 Author: Nama Anda */ // Kode untuk mendaftarkan custom post type akan diletakkan di sini Tambahkan Kode Pendaftaran Custom Post Type: Di bawah header plugin, tambahkan kode yang sama seperti yang digunakan untuk mengedit functions.php, tetapi pastikan untuk mengganti 'your-text-domain' dengan nama plugin Anda (misalnya, my-custom-post-types). // ... (setelah header plugin) ... function my_register_custom_post_types() // Contoh: Mendaftarkan post type 'Buku' $labels = array( 'name' => _x( 'Buku', 'post type general name', 'my-custom-post-types' ), 'singular_name' => _x( 'Buku', 'post type singular name', 'my-custom-post-types' ), 'menu_name' => _x( 'Buku', 'admin menu', 'my-custom-post-types' ), 'name_admin_bar' => _x( 'Buku', 'add new on admin bar', 'my-custom-post-types' ), 'add_new' => __( 'Tambah Buku Baru', 'my-custom-post-types' ), 'add_new_item' => __( 'Tambah Buku Baru', 'my-custom-post-types' ), 'edit_item' => __( 'Edit Buku', 'my-custom-post-types' ), 'view_item' => __( 'Lihat Buku', 'my-custom-post-types' ), 'all_items' => __( 'Semua Buku', 'my-custom-post-types' ), 'search_items' => __( 'Cari Buku', 'my-custom-post-types' ), 'parent_item_colon' => __( 'Buku Induk:', 'my-custom-post-types' ), 'not_found' => __( 'Tidak ada buku ditemukan.', 'my-custom-post-types' ), 'not_found_in_trash' => __( 'Tidak ada buku di tempat sampah.', 'my-custom-post-types' ) ); $args = array( 'labels' => $labels, 'description' => __( 'Menyimpan informasi buku.', 'my-custom-post-types' ), 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'buku' ), 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => 6, // Sesuaikan posisi 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt' ), 'show_in_rest' => true ); register_post_type( 'buku', $args ); // Ganti 'buku' dengan slug unik Anda add_action( 'init', 'my_register_custom_post_types' ); // Anda bisa menambahkan fungsi register_post_type lain di sini untuk post type tambahan Unggah Folder Plugin: Unggah folder my-custom-post-types beserta file my-custom-post-types.php ke direktori wp-content/plugins/ di server Anda. Aktifkan Plugin: Masuk ke dashboard WordPress Anda. Navigasikan ke Plugins > Installed Plugins. Cari plugin "Custom Post Type Saya" (atau nama yang Anda berikan di header) dan klik "Activate". Setelah diaktifkan, custom post type Anda akan muncul di dashboard.Menambahkan Custom Fields ke Custom Post TypeMemiliki custom post type saja belum cukup. Seringkali, Anda perlu menambahkan data tambahan yang spesifik untuk tipe konten tersebut. Inilah fungsi custom fields.Jika Anda menggunakan plugin seperti Pods, Anda sudah membuat custom fields saat proses pembuatan post type. Namun, jika Anda menggunakan CPT UI atau metode manual, Anda memerlukan plugin tambahan untuk mengelola custom fields. Plugin yang paling populer untuk ini adalah Advanced Custom Fields (ACF).Langkah-langkah menggunakan ACF: Instal dan Aktifkan ACF: Buka Plugins > Add New, cari "Advanced Custom Fields", instal, dan aktifkan. Buat Grup Field Baru: Navigasikan ke Custom Fields > Add New. Berikan nama pada grup field Anda (misalnya, "Detail Produk"). Tambahkan Field: Klik "Add Field". Field Label: Nama yang akan dilihat pengguna (misalnya, "Harga"). Field Name: Nama teknis field (misalnya, harga). Field Type: Pilih jenis field (misalnya, Number, Text, Textarea, Image, Select, dll.). Ulangi untuk menambahkan semua field yang Anda perlukan (misalnya, "Stok", "Warna", "Ukuran"). Atur Lokasi Field: Di bagian "Location Rules", atur agar grup field ini muncul untuk custom post type yang Anda buat. Klik "Add Rule Group". Atur: Post Type is equal to Nama Custom Post Type Anda (misalnya, Produk). Simpan Perubahan: Klik tombol "Save Changes". Sekarang, ketika Anda membuat atau mengedit entri untuk custom post type Anda, Anda akan melihat bagian khusus untuk mengisi custom fields yang telah Anda tentukan.Menampilkan Custom Post Type di Frontend WebsiteSetelah custom post type dan custom fields dibuat, Anda perlu menampilkannya di bagian frontend website agar pengunjung bisa melihatnya. Ini biasanya melibatkan pengeditan file template tema Anda.Cara umum untuk menampilkan custom post type adalah: Menggunakan Plugin Pembuat Halaman (Page Builder): Banyak page builder seperti Elementor, Beaver Builder, atau WPBakery memiliki widget atau modul yang memungkinkan Anda menampilkan daftar custom post type atau detail entri secara dinamis. Ini adalah cara paling mudah jika Anda menggunakan page builder. Mengedit File Template Tema: Untuk menampilkan daftar custom post type, Anda perlu membuat atau mengedit file template tema seperti archive-nama_post_type.php (misalnya, archive-produk.php). Untuk menampilkan detail satu entri custom post type, Anda perlu membuat atau mengedit file template seperti single-nama_post_type.php (misalnya, single-produk.php). Dalam file-file template ini, Anda akan menggunakan loop WordPress standar untuk mengambil dan menampilkan data dari custom post type Anda, termasuk custom fields yang dibuat dengan ACF. Contoh sederhana untuk menampilkan judul dan konten dari custom post type 'produk' di archive-produk.php: <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <div><?php the_content(); ?></div> <?php endwhile; else : echo '<p>Tidak ada produk ditemukan.</p>'; endif; ?> Contoh sederhana untuk menampilkan judul, konten, dan custom field 'harga' dari custom post type 'produk' di single-produk.php (dengan asumsi Anda menggunakan ACF): <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <h1><?php the_title(); ?></h1> <div><?php the_content(); ?></div> <?php // Menampilkan custom field 'harga' menggunakan ACF if( get_field('harga') ): ?> <p><strong>Harga:</strong> Rp <?php echo number_format(get_field('harga'), 0, ',', '.'); ?></p> <?php endif; ?> <?php endwhile; else : echo '<p>Produk tidak ditemukan.</p>'; endif; ?> Perlu diingat bahwa ini adalah contoh yang sangat dasar. Tampilan dan fungsionalitas sebenarnya akan sangat bergantung pada desain tema Anda dan kebutuhan spesifik website Anda. Kesalahan Umum Saat Membuat Custom Post TypeSaat membuat custom post type, ada beberapa jebakan yang sering dihadapi pengguna: Salah Memilih Slug: Slug (nama teknis) custom post type bersifat permanen setelah dibuat. Jika Anda membuat kesalahan, mengubahnya bisa berisiko kehilangan data atau merusak URL. Selalu pikirkan baik-baik sebelum menetapkan slug. Lupa Mengaktifkan show_in_rest: Jika Anda ingin menggunakan custom post type dengan editor Gutenberg atau API WordPress, pastikan opsi show_in_rest diatur ke true. Tidak Menangani Permalinks: Setelah membuat custom post type baru, terkadang Anda perlu me-flush permalinks Anda. Buka Settings > Permalinks di dashboard WordPress dan klik "Save Changes" untuk memperbarui aturan rewrite. Mengedit Langsung functions.php Tanpa Child Theme: Seperti yang disebutkan sebelumnya, mengedit functions.php tema induk akan menyebabkan perubahan hilang saat pembaruan. Selalu gunakan child theme atau buat plugin kustom. Membuat Tipe Konten yang Sebenarnya Bisa Dikelola dengan Kategori/Tag Biasa: Gunakan custom post type hanya ketika Anda benar-benar membutuhkan jenis konten yang berbeda secara fundamental dari Post atau Page. Jika sekadar pengelompokan, kategori atau tag standar mungkin sudah cukup. Rekomendasi Tools untuk Mengelola Custom Post TypeSelain plugin yang sudah dibahas, ada beberapa tools lain yang bisa mempermudah pengelolaan custom post type Anda: Advanced Custom Fields (ACF): Sangat direkomendasikan untuk menambahkan dan mengelola custom fields dengan mudah. Custom Post Type Permalinks: Plugin ini membantu mengelola struktur permalink untuk custom post type Anda. WP Show Custom Post Types: Plugin yang berguna untuk menampilkan daftar custom post type Anda di frontend menggunakan shortcode. FAQ: Pertanyaan Umum Seputar Custom Post Type WordPressApa perbedaan antara Custom Post Type dan Kategori/Tag?Kategori dan Tag adalah taksonomi yang digunakan untuk mengelompokkan konten *dalam* tipe postingan yang sudah ada (seperti Post atau Page). Custom Post Type adalah jenis konten *baru* yang sepenuhnya terpisah dari Post dan Page, dan dapat memiliki taksonominya sendiri.Apakah membuat Custom Post Type akan memperlambat website saya?Jika dibuat dan dikelola dengan benar, custom post type tidak akan secara signifikan memperlambat website Anda. Kinerja website lebih banyak dipengaruhi oleh optimasi gambar, caching, kualitas hosting, dan efisiensi kode tema/plugin.Bisakah saya mengimpor/mengekspor Custom Post Type?Ya, Anda bisa mengimpor/mengekspor data dari custom post type. Anda bisa menggunakan plugin ekspor/impor bawaan WordPress atau plugin pihak ketiga seperti "WP All Import" dan "WP All Export" yang mendukung custom post type.Kesimpulan: Berdayakan Website Anda dengan Custom Post TypeMembuat custom post type di WordPress adalah langkah penting untuk meningkatkan struktur, organisasi, dan pengalaman pengguna website Anda. Baik Anda memilih metode plugin yang mudah seperti CPT UI atau Pods, atau metode manual yang lebih teknis dengan membuat plugin kustom, manfaatnya sangat terasa. Dengan mengorganisir konten Anda secara efektif, Anda tidak hanya memudahkan pengelolaan situs web Anda sendiri, tetapi juga memberikan pengalaman yang lebih baik bagi pengunjung Anda. Mulailah bereksperimen dengan custom post type hari ini dan lihat bagaimana website Anda menjadi lebih fungsional dan terkelola dengan baik!Bagikan artikel ini jika Anda merasa terbantu, dan jangan ragu untuk membaca panduan website lainnya di blog ini untuk terus mengembangkan keahlian Anda.
- Apa Itu Custom Post Type di WordPress?
- Mengapa Custom Post Type Penting untuk Website Anda?
- Bagaimana Cara Membuat Custom Post Type di WordPress?
- Metode 1: Menggunakan Plugin untuk Membuat Custom Post Type (Cara Termudah)
- Metode 2: Membuat Custom Post Type Secara Manual (Memerlukan Pengetahuan Koding)
- Menambahkan Custom Fields ke Custom Post Type
- Menampilkan Custom Post Type di Frontend Website
- Kesalahan Umum Saat Membuat Custom Post Type
- Rekomendasi Tools untuk Mengelola Custom Post Type
- FAQ: Pertanyaan Umum Seputar Custom Post Type WordPress
- Kesimpulan: Berdayakan Website Anda dengan Custom Post Type
Membuat Custom Post Type WordPress: Panduan Lengkap untuk Mengelola Konten Lebih Efektif
Setiap pemilik website yang menggunakan WordPress pasti pernah merasakan tantangan dalam mengorganisir berbagai jenis konten. Anda mungkin sudah familiar dengan kategori konten standar seperti 'Post' untuk artikel berita atau blog, dan 'Page' untuk halaman statis seperti 'Tentang Kami' atau 'Kontak'. Namun, bagaimana jika Anda memerlukan jenis konten yang lebih spesifik, seperti portofolio, testimoni pelanggan, produk, atau ulasan? Di sinilah konsep Custom Post Type (CPT) menjadi sangat relevan.
Membuat custom post type di WordPress memungkinkan Anda untuk memperluas fungsionalitas dasar WordPress dan menyajikan informasi dengan cara yang lebih terstruktur dan mudah dikelola. Artikel ini akan memandu Anda secara mendalam, mulai dari pemahaman dasar hingga langkah-langkah praktis, untuk membuat custom post type Anda sendiri. Kami akan membahas berbagai metode, baik yang memanfaatkan plugin yang user-friendly maupun yang memerlukan sentuhan koding manual, agar Anda dapat memilih cara yang paling sesuai dengan tingkat keahlian dan kebutuhan proyek Anda. Bersiaplah untuk membawa pengelolaan konten website Anda ke level berikutnya!
Apa Itu Custom Post Type di WordPress?
Secara sederhana, custom post type adalah jenis konten baru yang Anda tambahkan ke dalam sistem manajemen konten WordPress. WordPress secara bawaan memiliki beberapa tipe postingan default, yaitu:
Post: Digunakan untuk konten yang bersifat dinamis dan sering diperbarui, seperti artikel berita, postingan blog, dan pengumuman. Biasanya diurutkan berdasarkan tanggal publikasi. Page: Digunakan untuk konten statis yang jarang berubah, seperti halaman 'Tentang Kami', 'Kebijakan Privasi', atau halaman kontak. Attachment: Merupakan media yang diunggah ke WordPress, seperti gambar, video, atau dokumen. Revision: Catatan otomatis dari setiap perubahan yang Anda buat pada postingan atau halaman.
Custom Post Type memperluas daftar ini. Alih-alih hanya terbatas pada 'Post' dan 'Page', Anda dapat membuat tipe konten baru yang sesuai dengan kebutuhan spesifik website Anda. Misalnya, jika Anda menjalankan website toko online, Anda bisa membuat custom post type 'Produk'. Jika Anda seorang fotografer, Anda bisa membuat custom post type 'Galeri' atau 'Portofolio'. Jika Anda memiliki website restoran, Anda bisa membuat custom post type 'Menu'.
Setiap custom post type dapat memiliki struktur, field, dan pengaturannya sendiri yang berbeda dari post atau page standar. Ini memberikan fleksibilitas luar biasa dalam mengorganisir dan menampilkan konten yang unik.
Mengapa Custom Post Type Penting untuk Website Anda?
Penggunaan custom post type bukan sekadar tentang menambah variasi, tetapi membawa manfaat signifikan dalam pengelolaan dan pengalaman pengguna website Anda. Berikut adalah beberapa alasan mengapa custom post type sangat penting:
1. Organisasi Konten yang Lebih Baik
Bayangkan jika Anda memiliki ratusan entri produk, testimoni, atau item portofolio yang semuanya dimasukkan ke dalam kategori 'Post' standar. Mencari, mengedit, atau mengelola konten-konten tersebut akan menjadi mimpi buruk. Custom post type memungkinkan Anda untuk mengelompokkan konten serupa secara terpisah. Di dashboard WordPress, Anda akan memiliki menu terpisah untuk setiap custom post type, membuatnya jauh lebih mudah untuk menemukan dan mengelola entri spesifik.
2. Tampilan Konten yang Lebih Spesifik dan Terarah
Setiap custom post type dapat didesain secara unik. Anda dapat menentukan template tampilan yang berbeda untuk 'Produk' dibandingkan dengan 'Artikel Blog'. Ini memungkinkan Anda menampilkan informasi tambahan yang relevan untuk tipe konten tersebut. Misalnya, untuk produk, Anda mungkin ingin menampilkan harga, stok, varian, dan spesifikasi teknis. Untuk testimoni, Anda mungkin ingin menampilkan nama pelanggan, perusahaan, dan rating. Dengan custom post type, Anda dapat mengintegrasikan field-field ini secara mulus.
3. Peningkatan Pengalaman Pengguna (UX)
Ketika konten diorganisir dengan baik dan ditampilkan dengan cara yang relevan, pengalaman pengguna di website Anda akan meningkat drastis. Pengunjung dapat dengan mudah menemukan informasi yang mereka cari, menavigasi website dengan lebih intuitif, dan mendapatkan gambaran yang jelas tentang apa yang Anda tawarkan. Ini sangat krusial untuk website yang memiliki banyak variasi konten, seperti e-commerce, direktori, atau platform keanggotaan.
4. Fleksibilitas untuk Kustomisasi Lanjutan
Custom post type membuka pintu untuk kustomisasi yang lebih mendalam. Anda dapat dengan mudah menghubungkan custom post type dengan taksonomi kustom (kategori atau tag khusus untuk tipe postingan tersebut), menambahkan custom fields untuk data tambahan, dan bahkan mengintegrasikannya dengan plugin lain untuk fungsionalitas yang lebih canggih.
5. Fondasi untuk Pengembangan Fitur Kompleks
Jika Anda berencana untuk mengembangkan fitur yang lebih kompleks di masa depan, seperti sistem pemesanan, direktori bisnis, atau database keanggotaan, custom post type adalah fondasi yang kuat. Anda dapat membangun fungsionalitas ini di atas struktur custom post type yang sudah ada.
Bagaimana Cara Membuat Custom Post Type di WordPress?
Ada beberapa cara untuk membuat custom post type di WordPress, mulai dari metode yang paling mudah menggunakan plugin hingga metode yang lebih teknis dengan koding manual. Kami akan membahas metode-metode ini secara rinci.
Metode 1: Menggunakan Plugin untuk Membuat Custom Post Type (Cara Termudah)
Bagi sebagian besar pengguna, terutama yang kurang memiliki pengalaman koding, menggunakan plugin adalah cara yang paling direkomendasikan. Plugin ini menyediakan antarmuka yang ramah pengguna untuk membuat dan mengelola custom post type tanpa perlu menyentuh kode.
A. Menggunakan Plugin Custom Post Type UI (CPT UI)
Custom Post Type UI (CPT UI) adalah salah satu plugin paling populer dan tepercaya untuk membuat custom post type di WordPress. Plugin ini gratis dan memiliki jutaan pengguna aktif.
Langkah-langkahnya adalah sebagai berikut:
-
Instal dan Aktifkan Plugin:
- Buka dashboard WordPress Anda.
- Navigasikan ke
Plugins > Add New. - Cari "Custom Post Type UI".
- Klik "Install Now", lalu "Activate".
-
Akses Menu CPT UI:
- Setelah diaktifkan, Anda akan melihat menu baru bernama "CPT UI" di sidebar kiri dashboard WordPress Anda.
-
Membuat Post Type Baru:
- Klik "CPT UI", lalu pilih "Add/Edit Post Types".
-
Isi Detail Post Type:
- Post Type Slug: Ini adalah nama teknis untuk post type Anda, yang akan digunakan dalam URL. Gunakan huruf kecil, tanpa spasi, dan gunakan underscore (_) jika perlu memisahkan kata (misalnya,
nama_produk). - Plural Label: Nama umum untuk tipe postingan Anda dalam bentuk jamak (misalnya, "Produk", "Portofolio", "Resep"). Ini akan muncul di menu navigasi dashboard.
- Singular Label: Nama tipe postingan Anda dalam bentuk tunggal (misalnya, "Produk", "Portofolio", "Resep"). Ini akan digunakan saat menambahkan item baru.
- Public: Atur ke
Truejika Anda ingin post type ini terlihat oleh publik di frontend website Anda. - Show UI: Atur ke
Truejika Anda ingin melihat antarmuka untuk mengelola post type ini di dashboard. - Show Menu: Atur ke
Trueagar post type ini muncul sebagai menu di sidebar dashboard. - Menu Position: Menentukan posisi menu di sidebar (misalnya, 5 untuk posisi di bawah Post).
- Supports: Pilih fitur-fitur standar yang ingin Anda dukung untuk post type ini (misalnya, Title, Editor, Featured Image, Excerpt, Comments, Custom Fields).
- Taxonomies: Jika Anda ingin menggunakan kategori atau tag khusus untuk post type ini, Anda bisa memilihnya di sini. Anda juga bisa membuat taksonomi kustom baru nanti.
- Post Type Slug: Ini adalah nama teknis untuk post type Anda, yang akan digunakan dalam URL. Gunakan huruf kecil, tanpa spasi, dan gunakan underscore (_) jika perlu memisahkan kata (misalnya,
-
Otomatisasi Label Tambahan:
- Setelah mengisi label dasar, Anda bisa mengklik tombol "Auto-populate labels" untuk mengisi sebagian besar label tambahan secara otomatis. Anda bisa menyesuaikannya nanti jika diperlukan.
-
Tambahkan Post Type:
- Setelah semua detail terisi, klik tombol "Add Post Type" di bagian bawah.
Setelah Anda berhasil menambahkan post type, Anda akan melihat menu baru di sidebar dashboard WordPress Anda sesuai dengan nama yang Anda berikan. Anda sekarang dapat mulai menambahkan entri baru untuk custom post type Anda.
B. Menggunakan Plugin Pods
Pods adalah plugin lain yang sangat kuat dan serbaguna yang memungkinkan Anda membuat custom post type, custom fields, taksonomi kustom, dan bahkan objek kustom lainnya. Pods menawarkan lebih banyak kontrol dan fleksibilitas dibandingkan CPT UI, tetapi mungkin terasa sedikit lebih kompleks bagi pemula.
Langkah-langkah menggunakan Pods:
-
Instal dan Aktifkan Plugin:
- Buka dashboard WordPress Anda.
- Navigasikan ke
Plugins > Add New. - Cari "Pods".
- Klik "Install Now", lalu "Activate".
-
Akses Menu Pods Admin:
- Setelah diaktifkan, Anda akan melihat menu "Pods Admin" di sidebar kiri dashboard.
-
Membuat Konten Tipe Baru:
- Klik "Pods Admin", lalu pilih "Add New".
-
Pilih Tipe Konten:
- Pada halaman "Add New Pod", Anda akan melihat pilihan seperti "Create New" atau "Extend Existing". Pilih "Create New" untuk membuat tipe konten yang benar-benar baru.
-
Konfigurasi Tipe Konten:
- Label (Singular): Nama tipe konten dalam bentuk tunggal (misalnya, "Buku").
- Label (Plural): Nama tipe konten dalam bentuk jamak (misalnya, "Buku-buku").
- Post Type Slug: Nama teknis untuk tipe konten Anda (misalnya,
books). - Pilih opsi lain yang relevan, seperti apakah ingin menampilkan di admin bar, posisi menu, dll.
-
Tambahkan Field (Kolom):
- Setelah menyimpan pengaturan dasar, Anda akan diarahkan ke halaman untuk mengelola field. Klik "Add Field".
- Label: Nama field yang akan dilihat pengguna (misalnya, "Penulis", "Tahun Terbit").
- Name: Nama teknis field (misalnya,
author,tahun_terbit). - Field Type: Pilih jenis field yang sesuai (misalnya, Text, Text Area, Number, Date, Image, Select, dll.).
- Ulangi langkah ini untuk menambahkan semua field yang Anda butuhkan.
-
Simpan Pod:
- Setelah selesai menambahkan field, klik tombol "Save Pod" di bagian atas atau bawah halaman.
Sama seperti CPT UI, Pods akan membuat menu baru di sidebar Anda untuk tipe konten yang baru Anda buat. Anda kemudian dapat mulai menambahkan entri baru. Kelebihan Pods adalah kemampuannya untuk membuat custom fields secara langsung saat membuat post type, yang sangat efisien.
Metode 2: Membuat Custom Post Type Secara Manual (Memerlukan Pengetahuan Koding)
Jika Anda merasa nyaman dengan koding atau ingin mengurangi ketergantungan pada plugin, Anda bisa membuat custom post type secara manual. Ada dua pendekatan utama untuk ini: mengedit file functions.php tema Anda, atau membuat plugin kustom Anda sendiri.
A. Mengedit File `functions.php` Tema
Ini adalah cara yang paling cepat untuk mengimplementasikan custom post type tanpa plugin, namun memiliki kelemahan besar. Jika tema Anda diperbarui atau diganti, semua perubahan pada file functions.php akan hilang, termasuk custom post type yang Anda buat. Oleh karena itu, metode ini tidak disarankan untuk jangka panjang.
Langkah-langkahnya:
-
Akses File
functions.php:- Buka dashboard WordPress Anda.
- Navigasikan ke
Appearance > Theme File Editor. - Di sebelah kanan, cari file
Theme Functions (functions.php).
-
Tambahkan Kode PHP:
- Di dalam file
functions.php, tambahkan kode berikut di bagian akhir (sebelum tag penutup?>jika ada, atau di akhir file jika tidak ada):
- Di dalam file
function create_custom_post_type()
$labels = array(
'name' => _x( 'Produk', 'post type general name', 'your-text-domain' ),
'singular_name' => _x( 'Produk', 'post type singular name', 'your-text-domain' ),
'menu_name' => _x( 'Produk', 'admin menu', 'your-text-domain' ),
'name_admin_bar' => _x( 'Produk', 'add new on admin bar', 'your-text-domain' ),
'add_new' => __( 'Tambah Baru', 'your-text-domain' ),
'add_new_item' => __( 'Tambah Produk Baru', 'your-text-domain' ),
'edit_item' => __( 'Edit Produk', 'your-text-domain' ),
'view_item' => __( 'Lihat Produk', 'your-text-domain' ),
'all_items' => __( 'Semua Produk', 'your-text-domain' ),
'search_items' => __( 'Cari Produk', 'your-text-domain' ),
'parent_item_colon' => __( 'Produk Induk:', 'your-text-domain' ),
'not_found' => __( 'Tidak ada produk ditemukan.', 'your-text-domain' ),
'not_found_in_trash' => __( 'Tidak ada produk di tempat sampah.', 'your-text-domain' )
);
$args = array(
'labels' => $labels,
'description' => __( 'Menyimpan informasi produk.', 'your-text-domain' ),
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'produk' ), // Ganti 'produk' dengan slug yang Anda inginkan
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 5,
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'custom-fields' ),
'show_in_rest' => true // Aktifkan untuk Gutenberg editor
);
register_post_type( 'produk', $args ); // Ganti 'produk' dengan nama slug unik Anda
add_action( 'init', 'create_custom_post_type' );Penjelasan Kode:
create_custom_post_type(): Fungsi utama yang akan mendaftarkan post type baru.$labels: Array ini mendefinisikan label yang akan muncul di dashboard WordPress untuk post type Anda (misalnya, "Tambah Baru", "Semua Produk"). Ganti'your-text-domain'dengan teks domain tema Anda atau biarkan jika tidak yakin.$args: Array ini berisi argumen konfigurasi untuk post type Anda:'public' => true: Membuat post type terlihat oleh publik.'rewrite' => array( 'slug' => 'produk' ): Menentukan slug URL untuk post type Anda (misalnya,namadomain.com/produk/). Ganti'produk'sesuai kebutuhan.'menu_position' => 5: Menentukan posisi menu di sidebar.'supports': Menentukan fitur apa saja yang didukung.
register_post_type( 'produk', $args ): Fungsi inti WordPress untuk mendaftarkan post type baru. Ganti'produk'dengan slug unik yang Anda pilih.add_action( 'init', 'create_custom_post_type' ): Menghubungkan fungsi pendaftaran post type Anda dengan hookinitWordPress.
- Simpan Perubahan:
- Setelah menambahkan kode, klik tombol "Update File".
Setelah itu, refresh dashboard WordPress Anda, dan Anda akan melihat menu baru untuk custom post type yang baru saja Anda buat.
B. Membuat Plugin Custom Post Type Sendiri
Ini adalah metode yang paling direkomendasikan untuk membuat custom post type secara manual karena keandalannya. Dengan membuat plugin sendiri, custom post type Anda akan tetap ada meskipun Anda mengganti atau memperbarui tema.
Langkah-langkahnya:
-
Akses File Server Anda:
- Anda memerlukan akses ke file server website Anda, biasanya melalui cPanel atau FTP client.
-
Navigasi ke Direktori Plugin:
- Masuk ke
wp-content/plugins/.
- Masuk ke
-
Buat Folder Plugin Baru:
- Buat folder baru untuk plugin Anda. Beri nama yang deskriptif, misalnya
my-custom-post-types.
- Buat folder baru untuk plugin Anda. Beri nama yang deskriptif, misalnya
-
Buat File Plugin Utama:
- Di dalam folder plugin yang baru Anda buat, buat file PHP baru. Beri nama yang sama dengan nama folder, misalnya
my-custom-post-types.php.
- Di dalam folder plugin yang baru Anda buat, buat file PHP baru. Beri nama yang sama dengan nama folder, misalnya
-
Tambahkan Header Plugin:
- Buka file
my-custom-post-types.phpdengan editor teks dan tambahkan header plugin seperti ini:
- Buka file
<?php
/*
Plugin Name: Custom Post Type Saya
Description: Plugin untuk membuat custom post type kustom.
Version: 1.0
Author: Nama Anda
*/
// Kode untuk mendaftarkan custom post type akan diletakkan di sini- Tambahkan Kode Pendaftaran Custom Post Type:
- Di bawah header plugin, tambahkan kode yang sama seperti yang digunakan untuk mengedit
functions.php, tetapi pastikan untuk mengganti'your-text-domain'dengan nama plugin Anda (misalnya,my-custom-post-types).
- Di bawah header plugin, tambahkan kode yang sama seperti yang digunakan untuk mengedit
// ... (setelah header plugin) ...
function my_register_custom_post_types()
// Contoh: Mendaftarkan post type 'Buku'
$labels = array(
'name' => _x( 'Buku', 'post type general name', 'my-custom-post-types' ),
'singular_name' => _x( 'Buku', 'post type singular name', 'my-custom-post-types' ),
'menu_name' => _x( 'Buku', 'admin menu', 'my-custom-post-types' ),
'name_admin_bar' => _x( 'Buku', 'add new on admin bar', 'my-custom-post-types' ),
'add_new' => __( 'Tambah Buku Baru', 'my-custom-post-types' ),
'add_new_item' => __( 'Tambah Buku Baru', 'my-custom-post-types' ),
'edit_item' => __( 'Edit Buku', 'my-custom-post-types' ),
'view_item' => __( 'Lihat Buku', 'my-custom-post-types' ),
'all_items' => __( 'Semua Buku', 'my-custom-post-types' ),
'search_items' => __( 'Cari Buku', 'my-custom-post-types' ),
'parent_item_colon' => __( 'Buku Induk:', 'my-custom-post-types' ),
'not_found' => __( 'Tidak ada buku ditemukan.', 'my-custom-post-types' ),
'not_found_in_trash' => __( 'Tidak ada buku di tempat sampah.', 'my-custom-post-types' )
);
$args = array(
'labels' => $labels,
'description' => __( 'Menyimpan informasi buku.', 'my-custom-post-types' ),
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'buku' ),
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 6, // Sesuaikan posisi
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt' ),
'show_in_rest' => true
);
register_post_type( 'buku', $args ); // Ganti 'buku' dengan slug unik Anda
add_action( 'init', 'my_register_custom_post_types' );
// Anda bisa menambahkan fungsi register_post_type lain di sini untuk post type tambahan-
Unggah Folder Plugin:
- Unggah folder
my-custom-post-typesbeserta filemy-custom-post-types.phpke direktoriwp-content/plugins/di server Anda.
- Unggah folder
-
Aktifkan Plugin:
- Masuk ke dashboard WordPress Anda.
- Navigasikan ke
Plugins > Installed Plugins. - Cari plugin "Custom Post Type Saya" (atau nama yang Anda berikan di header) dan klik "Activate".
Setelah diaktifkan, custom post type Anda akan muncul di dashboard.
Menambahkan Custom Fields ke Custom Post Type
Memiliki custom post type saja belum cukup. Seringkali, Anda perlu menambahkan data tambahan yang spesifik untuk tipe konten tersebut. Inilah fungsi custom fields.
Jika Anda menggunakan plugin seperti Pods, Anda sudah membuat custom fields saat proses pembuatan post type. Namun, jika Anda menggunakan CPT UI atau metode manual, Anda memerlukan plugin tambahan untuk mengelola custom fields. Plugin yang paling populer untuk ini adalah Advanced Custom Fields (ACF).
Langkah-langkah menggunakan ACF:
-
Instal dan Aktifkan ACF:
- Buka
Plugins > Add New, cari "Advanced Custom Fields", instal, dan aktifkan.
- Buka
-
Buat Grup Field Baru:
- Navigasikan ke
Custom Fields > Add New. - Berikan nama pada grup field Anda (misalnya, "Detail Produk").
- Navigasikan ke
-
Tambahkan Field:
- Klik "Add Field".
- Field Label: Nama yang akan dilihat pengguna (misalnya, "Harga").
- Field Name: Nama teknis field (misalnya,
harga). - Field Type: Pilih jenis field (misalnya, Number, Text, Textarea, Image, Select, dll.).
- Ulangi untuk menambahkan semua field yang Anda perlukan (misalnya, "Stok", "Warna", "Ukuran").
-
Atur Lokasi Field:
- Di bagian "Location Rules", atur agar grup field ini muncul untuk custom post type yang Anda buat.
- Klik "Add Rule Group".
- Atur:
Post Typeis equal toNama Custom Post Type Anda(misalnya,Produk).
-
Simpan Perubahan:
- Klik tombol "Save Changes".
Sekarang, ketika Anda membuat atau mengedit entri untuk custom post type Anda, Anda akan melihat bagian khusus untuk mengisi custom fields yang telah Anda tentukan.
Menampilkan Custom Post Type di Frontend Website
Setelah custom post type dan custom fields dibuat, Anda perlu menampilkannya di bagian frontend website agar pengunjung bisa melihatnya. Ini biasanya melibatkan pengeditan file template tema Anda.
Cara umum untuk menampilkan custom post type adalah:
-
Menggunakan Plugin Pembuat Halaman (Page Builder): Banyak page builder seperti Elementor, Beaver Builder, atau WPBakery memiliki widget atau modul yang memungkinkan Anda menampilkan daftar custom post type atau detail entri secara dinamis. Ini adalah cara paling mudah jika Anda menggunakan page builder.
-
Mengedit File Template Tema:
- Untuk menampilkan daftar custom post type, Anda perlu membuat atau mengedit file template tema seperti
archive-nama_post_type.php(misalnya,archive-produk.php). - Untuk menampilkan detail satu entri custom post type, Anda perlu membuat atau mengedit file template seperti
single-nama_post_type.php(misalnya,single-produk.php).
Dalam file-file template ini, Anda akan menggunakan loop WordPress standar untuk mengambil dan menampilkan data dari custom post type Anda, termasuk custom fields yang dibuat dengan ACF.
Contoh sederhana untuk menampilkan judul dan konten dari custom post type 'produk' di
archive-produk.php:<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <div><?php the_content(); ?></div> <?php endwhile; else : echo '<p>Tidak ada produk ditemukan.</p>'; endif; ?>Contoh sederhana untuk menampilkan judul, konten, dan custom field 'harga' dari custom post type 'produk' di
single-produk.php(dengan asumsi Anda menggunakan ACF):<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <h1><?php the_title(); ?></h1> <div><?php the_content(); ?></div> <?php // Menampilkan custom field 'harga' menggunakan ACF if( get_field('harga') ): ?> <p><strong>Harga:</strong> Rp <?php echo number_format(get_field('harga'), 0, ',', '.'); ?></p> <?php endif; ?> <?php endwhile; else : echo '<p>Produk tidak ditemukan.</p>'; endif; ?>Perlu diingat bahwa ini adalah contoh yang sangat dasar. Tampilan dan fungsionalitas sebenarnya akan sangat bergantung pada desain tema Anda dan kebutuhan spesifik website Anda.
- Untuk menampilkan daftar custom post type, Anda perlu membuat atau mengedit file template tema seperti
Kesalahan Umum Saat Membuat Custom Post Type
Saat membuat custom post type, ada beberapa jebakan yang sering dihadapi pengguna:
- Salah Memilih Slug: Slug (nama teknis) custom post type bersifat permanen setelah dibuat. Jika Anda membuat kesalahan, mengubahnya bisa berisiko kehilangan data atau merusak URL. Selalu pikirkan baik-baik sebelum menetapkan slug.
- Lupa Mengaktifkan
show_in_rest: Jika Anda ingin menggunakan custom post type dengan editor Gutenberg atau API WordPress, pastikan opsishow_in_restdiatur ketrue. - Tidak Menangani Permalinks: Setelah membuat custom post type baru, terkadang Anda perlu me-flush permalinks Anda. Buka
Settings > Permalinksdi dashboard WordPress dan klik "Save Changes" untuk memperbarui aturan rewrite. - Mengedit Langsung
functions.phpTanpa Child Theme: Seperti yang disebutkan sebelumnya, mengeditfunctions.phptema induk akan menyebabkan perubahan hilang saat pembaruan. Selalu gunakan child theme atau buat plugin kustom. - Membuat Tipe Konten yang Sebenarnya Bisa Dikelola dengan Kategori/Tag Biasa: Gunakan custom post type hanya ketika Anda benar-benar membutuhkan jenis konten yang berbeda secara fundamental dari Post atau Page. Jika sekadar pengelompokan, kategori atau tag standar mungkin sudah cukup.
Rekomendasi Tools untuk Mengelola Custom Post Type
Selain plugin yang sudah dibahas, ada beberapa tools lain yang bisa mempermudah pengelolaan custom post type Anda:
- Advanced Custom Fields (ACF): Sangat direkomendasikan untuk menambahkan dan mengelola custom fields dengan mudah.
- Custom Post Type Permalinks: Plugin ini membantu mengelola struktur permalink untuk custom post type Anda.
- WP Show Custom Post Types: Plugin yang berguna untuk menampilkan daftar custom post type Anda di frontend menggunakan shortcode.
FAQ: Pertanyaan Umum Seputar Custom Post Type WordPress
Apa perbedaan antara Custom Post Type dan Kategori/Tag?
Kategori dan Tag adalah taksonomi yang digunakan untuk mengelompokkan konten *dalam* tipe postingan yang sudah ada (seperti Post atau Page). Custom Post Type adalah jenis konten *baru* yang sepenuhnya terpisah dari Post dan Page, dan dapat memiliki taksonominya sendiri.
Apakah membuat Custom Post Type akan memperlambat website saya?
Jika dibuat dan dikelola dengan benar, custom post type tidak akan secara signifikan memperlambat website Anda. Kinerja website lebih banyak dipengaruhi oleh optimasi gambar, caching, kualitas hosting, dan efisiensi kode tema/plugin.
Bisakah saya mengimpor/mengekspor Custom Post Type?
Ya, Anda bisa mengimpor/mengekspor data dari custom post type. Anda bisa menggunakan plugin ekspor/impor bawaan WordPress atau plugin pihak ketiga seperti "WP All Import" dan "WP All Export" yang mendukung custom post type.
Kesimpulan: Berdayakan Website Anda dengan Custom Post Type
Membuat custom post type di WordPress adalah langkah penting untuk meningkatkan struktur, organisasi, dan pengalaman pengguna website Anda. Baik Anda memilih metode plugin yang mudah seperti CPT UI atau Pods, atau metode manual yang lebih teknis dengan membuat plugin kustom, manfaatnya sangat terasa. Dengan mengorganisir konten Anda secara efektif, Anda tidak hanya memudahkan pengelolaan situs web Anda sendiri, tetapi juga memberikan pengalaman yang lebih baik bagi pengunjung Anda. Mulailah bereksperimen dengan custom post type hari ini dan lihat bagaimana website Anda menjadi lebih fungsional dan terkelola dengan baik!
Bagikan artikel ini jika Anda merasa terbantu, dan jangan ragu untuk membaca panduan website lainnya di blog ini untuk terus mengembangkan keahlian Anda.