(0275) 2974 127
WordPress pada dasarnya menyediakan beberapa jenis konten seperti Post dan Page. Namun, kebutuhan sebuah website tidak selalu dapat dipenuhi hanya dengan dua jenis konten tersebut. Website toko online, portal berita, direktori, kursus online, hingga website portofolio sering membutuhkan struktur konten yang lebih spesifik.
Di sinilah Custom Post Type (CPT) dapat digunakan. Fitur ini memungkinkan pemilik atau developer WordPress membuat jenis konten khusus sesuai kebutuhan website, tanpa harus mencampurkannya dengan artikel atau halaman biasa. Lalu, apa itu Custom Post Type, apa manfaatnya, bagaimana cara membuatnya, dan apa perbedaannya dengan Post, Page, serta Taxonomy?
Custom Post Type adalah jenis konten khusus di WordPress yang dibuat untuk mengelola informasi dengan struktur atau kebutuhan yang berbeda dari Post dan Page bawaan. WordPress menyimpan berbagai jenis konten pada tabel wp_posts dan membedakannya berdasarkan nilai post_type. Dengan Custom Post Type, developer dapat mendaftarkan jenis konten baru menggunakan fungsi register_post_type().
Sebagai contoh, website perusahaan dapat memiliki Custom Post Type bernama Portfolio untuk menyimpan proyek, Team untuk data anggota tim, atau Product untuk informasi produk. Dengan demikian, konten tersebut dapat dikelola secara terpisah dari artikel blog biasa sehingga struktur website menjadi lebih terorganisasi.
Post bawaan WordPress sebenarnya sudah cukup untuk membuat artikel blog. Namun, menggunakan Post untuk semua jenis informasi dapat membuat pengelolaan konten menjadi kurang terstruktur. Misalnya, sebuah website memiliki:
Jika semuanya dibuat menggunakan Post, pengelola website harus menggunakan kategori, tag, atau custom fields untuk membedakan setiap jenis informasi.
Dengan Custom Post Type, setiap jenis konten dapat memiliki area pengelolaan sendiri di dashboard WordPress. WordPress memang menyediakan kemampuan untuk membuat menu admin baru ketika sebuah Custom Post Type didaftarkan. Hal ini membuat pengelolaan konten menjadi lebih terstruktur dan memudahkan developer dalam menentukan cara konten tersebut ditampilkan.
Custom Post Type dapat digunakan untuk berbagai kebutuhan website.
| Jenis Website | Custom Post Type | Contoh Data |
|---|---|---|
| Toko online | Product | Nama, harga, spesifikasi |
| Website perusahaan | Portfolio | Nama proyek, klien, hasil proyek |
| Website sekolah | Course | Nama kursus, instruktur, materi |
| Website properti | Property | Lokasi, harga, luas bangunan |
| Website berita | News | Judul, berita, sumber |
| Website restoran | Menu | Nama makanan, harga, deskripsi |
| Website lowongan | Job | Posisi, lokasi, persyaratan |
| Website organisasi | Team | Nama, jabatan, profil |
| Website buku | Book | Judul, penulis, penerbit |
Contoh tersebut menunjukkan bahwa Custom Post Type berguna ketika website memiliki jenis informasi yang berbeda dan perlu dikelola secara terpisah. WordPress sendiri memberikan contoh penggunaan Custom Post Type untuk konten seperti produk, tugas pembelajaran, dan film.
Post, Page, dan Custom Post Type sama-sama merupakan bagian dari sistem Post Type di WordPress. Perbedaannya terletak pada tujuan dan cara penggunaannya.
| Aspek | Post | Page | Custom Post Type |
|---|---|---|---|
| Fungsi utama | Artikel atau konten berkala | Halaman statis | Konten dengan kebutuhan khusus |
| Contoh | Berita, artikel | Tentang Kami, Kontak | Produk, portofolio, properti |
| Kategori & tag | Umumnya digunakan | Tidak menjadi fitur utama | Bisa menggunakan taxonomy khusus |
| Struktur | Umum | Lebih hierarkis | Dapat disesuaikan |
| Menu admin | Posts | Pages | Menu khusus |
| Template | single.php |
page.php |
Dapat menggunakan template khusus |
| Kebutuhan coding | Tidak diperlukan | Tidak diperlukan | Dapat dibuat dengan kode atau plugin |
Custom Post Type pada dasarnya bukan pengganti Post atau Page. Fitur ini digunakan ketika struktur konten membutuhkan pendekatan yang lebih spesifik.
Custom Post Type sering digunakan bersama Taxonomy, tetapi keduanya memiliki fungsi berbeda. Custom Post Type menentukan jenis konten, sedangkan taxonomy digunakan untuk mengelompokkan atau mengklasifikasikan konten. Sebagai contoh, sebuah website memiliki Custom Post Type Product. Product merupakan jenis kontennya, sedangkan:
dapat dibuat sebagai taxonomy. Perbedaannya dapat dilihat berikut ini.
| Aspek | Custom Post Type | Taxonomy |
|---|---|---|
| Fungsi | Menentukan jenis konten | Mengelompokkan konten |
| Contoh | Product, Portfolio, Property | Brand, Genre, Lokasi |
| Isi | Data atau konten | Term atau kelompok |
| Contoh hubungan | Product | Laptop, Smartphone |
| Fungsi utama | Struktur konten | Klasifikasi konten |
WordPress menyediakan register_taxonomy() untuk membuat taxonomy dan taxonomy tersebut dapat dihubungkan dengan Custom Post Type.
Ada dua pendekatan umum untuk membuat Custom Post Type di WordPress, yaitu menggunakan plugin atau membuatnya menggunakan kode PHP.
Untuk pengguna yang tidak terbiasa dengan coding, plugin dapat menjadi pilihan yang lebih praktis. Sementara developer dapat menggunakan fungsi register_post_type() secara langsung. WordPress menyediakan fungsi tersebut sebagai API untuk mendaftarkan jenis post baru.
Contoh sederhana untuk membuat Custom Post Type bernama Portfolio dapat ditulis seperti berikut:
function hosteko_register_portfolio() {
register_post_type('portfolio', array(
'labels' => array(
'name' => 'Portfolio',
'singular_name' => 'Portfolio',
),
'public' => true,
'has_archive' => true,
'supports' => array(
'title',
'editor',
'thumbnail',
),
));
}
add_action('init', 'hosteko_register_portfolio');
Kode tersebut mendaftarkan post type portfolio dan membuatnya tersedia pada area administrasi WordPress.
Fungsi register_post_type() memiliki berbagai parameter yang dapat digunakan untuk menentukan perilaku Custom Post Type, termasuk visibilitas, archive, fitur editor, thumbnail, komentar, revisi, dan custom fields.
register_post_type()?register_post_type() merupakan fungsi WordPress yang digunakan untuk mendaftarkan jenis post baru. Beberapa parameter yang sering digunakan antara lain:
| Parameter | Fungsi |
|---|---|
labels |
Menentukan nama dan label pada dashboard |
public |
Menentukan apakah post type dapat digunakan secara publik |
has_archive |
Mengaktifkan halaman archive |
supports |
Menentukan fitur yang tersedia |
rewrite |
Mengatur struktur URL |
show_ui |
Menentukan apakah tersedia interface di dashboard |
menu_icon |
Menentukan ikon pada menu admin |
hierarchical |
Menentukan apakah konten dapat memiliki struktur parent-child |
Tidak semua parameter harus digunakan. Pengaturannya dapat disesuaikan dengan kebutuhan website.
Custom Post Type dapat mendukung berbagai fitur bawaan WordPress. Misalnya:
Fitur tersebut dapat ditentukan melalui parameter supports pada saat Custom Post Type didaftarkan. Sebagai contoh:
'supports' => array(
'title',
'editor',
'thumbnail',
'excerpt',
)
Dengan konfigurasi tersebut, halaman editor Custom Post Type dapat memiliki judul, editor konten, featured image, dan excerpt.
Custom Post Type juga sering digunakan bersama Custom Fields untuk menyimpan informasi tambahan. Misalnya, sebuah website memiliki Custom Post Type Property. Selain judul dan deskripsi, properti mungkin membutuhkan informasi seperti:
Data tersebut dapat disimpan menggunakan custom fields. Dengan kombinasi Custom Post Type dan custom fields, website dapat memiliki struktur data yang lebih sesuai dengan kebutuhan bisnis.
Custom Post Type juga dapat memiliki struktur URL sendiri. Misalnya, sebuah Custom Post Type menggunakan identifier portfolio. URL-nya dapat dibuat seperti: https://example.com/portfolio/nama-proyek/
WordPress menyediakan parameter rewrite untuk mengatur slug pada URL Custom Post Type. Contohnya:
'rewrite' => array(
'slug' => 'portfolio'
)
Dengan pengaturan tersebut, URL Custom Post Type dapat menggunakan /portfolio/ sebagai bagian dari permalink. Struktur URL sebaiknya dibuat sederhana, jelas, dan sesuai dengan jenis konten agar mudah dipahami pengguna maupun mesin pencari.
Custom Post Type dapat digunakan untuk membangun struktur website yang lebih terorganisasi, tetapi membuat CPT saja tidak otomatis membuat halaman menjadi lebih SEO-friendly. SEO tetap dipengaruhi oleh berbagai faktor seperti:
Custom Post Type dapat membantu membangun struktur konten yang lebih jelas sehingga setiap jenis informasi dapat memiliki halaman, archive, taxonomy, dan template yang sesuai. Karena itu, penerapan CPT sebaiknya menjadi bagian dari content architecture, bukan sekadar cara membuat menu baru di dashboard.
Salah satu kelebihan Custom Post Type adalah kemampuannya menggunakan template khusus. WordPress mendukung template seperti:
single-{post-type}.php
archive-{post-type}.php
Misalnya Custom Post Type memiliki identifier portfolio, maka developer dapat membuat:
single-portfolio.php
archive-portfolio.php
single-portfolio.php dapat digunakan untuk menampilkan satu proyek, sedangkan archive-portfolio.php dapat digunakan untuk menampilkan daftar proyek.
Jika template khusus tersebut tidak tersedia, WordPress akan menggunakan template lain berdasarkan template hierarchy yang berlaku. Hal ini memungkinkan tampilan Custom Post Type dibuat berbeda dari artikel blog biasa.
Custom Post Type juga dapat diambil menggunakan query WordPress. Contohnya:
$args = array(
'post_type' => 'portfolio',
'posts_per_page' => 10,
);
$portfolio = new WP_Query($args);
Kode tersebut meminta WordPress mengambil konten dari Custom Post Type portfolio. WordPress menyediakan parameter post_type pada WP_Query untuk melakukan query terhadap jenis post tertentu. Dengan kemampuan tersebut, developer dapat membuat berbagai tampilan seperti:
Salah satu hal penting dalam implementasi Custom Post Type adalah menentukan tempat penyimpanannya. WordPress merekomendasikan agar fungsi Custom Post Type ditempatkan dalam plugin, bukan theme. Alasannya adalah agar data dan struktur konten tetap tersedia ketika theme diganti.
Sebagai contoh, jika Custom Post Type portfolio dibuat di theme kemudian theme diganti, registrasi CPT tersebut dapat hilang dari dashboard. Sebaliknya, jika CPT berada di plugin yang tetap aktif, struktur kontennya dapat tetap digunakan meskipun tampilan website berubah. Dengan demikian, pemisahan fungsi dapat dibuat seperti:
Plugin → Struktur dan fungsi konten
Theme → Tampilan dan presentasi konten
Pendekatan tersebut membuat struktur website lebih mudah dipelihara dalam jangka panjang.
Membuat Custom Post Type memang cukup mudah, tetapi ada beberapa hal yang perlu diperhatikan.
1. Gunakan Nama yang Spesifik
Identifier Custom Post Type sebaiknya tidak terlalu umum agar mengurangi risiko konflik dengan plugin atau theme lain. WordPress merekomendasikan penggunaan prefix yang berkaitan dengan plugin, theme, atau website. Identifier post type juga memiliki batas panjang maksimal 20 karakter.
2. Tentukan Fitur yang Dibutuhkan
Tidak semua Custom Post Type membutuhkan semua fitur WordPress. Misalnya, CPT team mungkin hanya membutuhkan:
Sementara CPT product dapat membutuhkan custom fields tambahan.
3. Perhatikan Struktur URL
Gunakan slug yang jelas dan relevan dengan jenis konten. Hindari struktur URL yang terlalu panjang atau membingungkan.
4. Hubungkan dengan Taxonomy Jika Dibutuhkan
Jika konten perlu dikelompokkan berdasarkan kategori, jenis, lokasi, atau atribut tertentu, pertimbangkan menggunakan taxonomy.
5. Jangan Mengandalkan Theme untuk Data Penting
Jika Custom Post Type berisi data penting website, lebih baik fungsi tersebut ditempatkan pada plugin agar data tetap portable ketika theme diganti.
Custom Post Type memberikan beberapa manfaat bagi website WordPress, terutama yang memiliki struktur konten kompleks.
| Kelebihan | Penjelasan |
|---|---|
| Struktur konten lebih rapi | Jenis konten dapat dipisahkan berdasarkan kebutuhan |
| Dashboard lebih terorganisasi | Setiap CPT dapat memiliki menu pengelolaan sendiri |
| Fleksibel | Fitur dan field dapat disesuaikan |
| URL dapat dikustomisasi | CPT dapat memiliki slug sendiri |
| Template lebih spesifik | Tampilan dapat dibuat berbeda dari Post |
| Mudah dikembangkan | Dapat dikombinasikan dengan taxonomy dan custom fields |
| Mendukung website kompleks | Cocok untuk katalog, direktori, portfolio, dan kebutuhan lainnya |
Meskipun fleksibel, Custom Post Type juga memiliki beberapa konsekuensi. Jika digunakan tanpa perencanaan, struktur website dapat menjadi terlalu kompleks. Developer juga perlu mempertimbangkan hubungan antara CPT, taxonomy, custom fields, template, query, permalink, dan SEO.
Selain itu, pembuatan CPT menggunakan kode membutuhkan pemahaman dasar mengenai WordPress development. Penggunaan plugin dapat mempermudah proses bagi pengguna non-developer, tetapi tetap perlu memperhatikan kualitas, kompatibilitas, dan pemeliharaan plugin.
Karena itu, Custom Post Type sebaiknya digunakan ketika memang terdapat kebutuhan terhadap jenis konten yang berbeda, bukan sekadar untuk membuat menu tambahan di dashboard.
Custom Post Type cocok digunakan ketika website memiliki jenis konten yang mempunyai struktur dan tujuan berbeda dari artikel atau halaman biasa. Contohnya adalah ketika website membutuhkan:
Sebaliknya, jika konten hanya berupa artikel yang diterbitkan secara berkala, Post bawaan WordPress biasanya sudah cukup. Dengan kata lain, gunakan Custom Post Type ketika website membutuhkan struktur konten khusus yang dapat dikelola secara terpisah dari Post dan Page.
Custom Post Type merupakan salah satu fitur penting ketika WordPress digunakan untuk membangun website dengan kebutuhan yang lebih kompleks daripada blog biasa. Dengan CPT, developer dapat membuat struktur konten yang lebih sesuai dengan kebutuhan website. Misalnya, website perusahaan dapat memiliki CPT portfolio, website properti dapat menggunakan property, sedangkan website kursus dapat memiliki course.
CPT juga dapat dikombinasikan dengan taxonomy, custom fields, template khusus, query WordPress, dan berbagai fitur lainnya. Kombinasi tersebut memungkinkan WordPress digunakan untuk membangun website dengan struktur data dan pengalaman pengguna yang lebih spesifik. Namun, semakin kompleks struktur CPT yang dibuat, semakin penting pula perencanaan arsitektur konten, URL, template, dan pengelolaannya.
Custom Post Type adalah fitur WordPress yang memungkinkan website memiliki jenis konten khusus di luar Post dan Page standar. CPT cocok digunakan untuk mengelola konten seperti produk, portofolio, properti, kursus, lowongan, atau direktori secara lebih terstruktur.
Custom Post Type dapat dikombinasikan dengan taxonomy, custom fields, template khusus, dan query WordPress sehingga struktur serta tampilan konten dapat disesuaikan dengan kebutuhan website. Untuk menjaga portabilitas data, WordPress merekomendasikan pendaftaran CPT melalui plugin daripada theme.
Jika Anda ingin mempelajari lebih banyak tentang WordPress, website, hosting, SEO, cloud computing, dan perkembangan teknologi digital lainnya, kunjungi Blog Hosteko untuk mendapatkan berbagai informasi dan panduan teknologi.
Sudah meletakkan HP jauh dari tempat tidur, tetapi beberapa menit kemudian mengambilnya lagi? Salah satu…
Perkembangan cloud computing, microservices, container, Kubernetes, dan DevOps membuat pengembangan aplikasi semakin fleksibel. Namun, semakin…
Salah satu cara praktis untuk mengurangi kebiasaan scrolling sebelum tidur adalah menjauhkan HP dari tempat…
Dalam lingkungan kerja maupun organisasi, kebutuhan untuk menyimpan dan berbagi file terus meningkat. Dokumen, gambar,…
Salah satu cara praktis untuk mengurangi kebiasaan scrolling sebelum tidur adalah menentukan batas waktu yang…
Dalam infrastruktur IT, menjaga agar aplikasi dan layanan tetap tersedia menjadi salah satu hal yang…