Cara Membuat Custom Post Type di WordPress (Panduan Lengkap)

WordPress, ELrolumnews — Anda sudah punya blog dan halaman statis. Tapi bagaimana jika Anda ingin membuat portofoliokatalog produk, atau daftar acara—yang terpisah dari postingan blog biasa?

Artikel ini cocok untuk: Anda yang sudah familiar dengan WordPress dan ingin naik level dengan Custom Post Type—tanpa harus jadi developer PHP.

WordPress secara default punya beberapa tipe konten: PostsPagesMedia, dan lainnya. Tapi untuk kebutuhan yang lebih spesifik—seperti portofolio, produk, atau acara—tipe default ini kurang cocok. Di sinilah Custom Post Type (CPT) berperan.

Di artikel ini, kita akan bahas dari nol: apa itu Custom Post Type, kapan menggunakannya, dan dua cara membuatnya—via plugin (untuk yang tidak suka coding) dan manual (untuk yang ingin kontrol penuh).

Apa Itu Custom Post Type?

Custom Post Type adalah tipe konten tambahan yang Anda buat sendiri, di luar tipe default WordPress . Ia memungkinkan Anda mengelola konten yang berbeda struktur dari blog posts biasa.

Contoh Penggunaan Custom Post Type

ContohFungsi
PortfolioMenampilkan karya desainer, fotografer, atau agensi 
ProdukKatalog produk (seperti WooCommerce) 
TestimoniMenampilkan ulasan pelanggan 
Acara/EventsJadwal dan manajemen acara 
Case StudiesStudi kasus untuk agensi atau konsultan 

Perbedaan Post Type dengan Pages

AspekPagesCustom Post Type
TujuanKonten statis (About, Contact)Konten dinamis/terstruktur (portfolio, produk) 
TaxonomiesTidak ada kategori/tag defaultMendukung custom taxonomies 
TemplateMenggunakan page.phpMenggunakan single-{posttype}.php 
HierarkiMendukung parent-childBiasanya non-hierarkis 
Update KontenJarang diupdateSering diupdate 

💡 Tips Pro: Gunakan Custom Post Type saat Anda butuh struktur konten yang berbeda dari blog posts. Jika kontennya statis seperti “About”, cukup gunakan Pages.

Kapan Anda Membutuhkan Custom Post Type?

Anda mungkin butuh CPT jika:

  1. Konten Anda tidak cocok dengan Posts atau Pages — misalnya, Anda ingin menampilkan portofolio dengan field khusus (klien, tahun, teknologi yang dipakai)

  2. Anda ingin organisasi yang lebih rapi — memisahkan produk dari artikel blog 

  3. Anda butuh tampilan yang berbeda — halaman arsip khusus, template khusus

  4. Anda ingin URL yang spesifik — seperti /produk/nama-produk/ bukan /posts/nama-produk/ 

💡 Tips Pro: Sebelum membuat CPT, tanyakan pada diri sendiri: “Apakah konten ini akan sering diupdate? Apakah butuh tampilan yang berbeda? Apakah butuh field khusus?” Jika jawabannya ya, CPT adalah jawabannya .

Metode 1: Membuat Custom Post Type dengan Plugin (Tanpa Coding)

Ini metode termudah untuk pemula. Kita akan menggunakan Custom Post Type UI (CPTUI)—plugin gratis paling populer untuk membuat CPT .

Langkah 1: Install Plugin CPTUI

  1. Masuk ke Plugins > Add New

  2. Cari “Custom Post Type UI”

  3. Klik Install Now, lalu Activate

  4. Anda akan melihat menu CPTUI di sidebar WordPress 

Langkah 2: Buat Post Type Baru

  1. Klik CPTUI > Add/Edit Post Types

  2. Isi Post Type Slug — ini adalah identifier unik (contoh: portofolio

  3. Isi Plural Label — nama yang muncul di menu (contoh: Portofolio)

  4. Isi Singular Label — nama tunggal (contoh: Portofolio Item)

Pengaturan Tambahan:

SettingRekomendasiKeterangan
PublicTrueAgar bisa diakses publik
Has ArchiveTrueMembuat halaman arsip /portofolio/
Show in REST APITrueUntuk Gutenberg editor 
SupportsTitle, Editor, ThumbnailFitur yang didukung

Langkah 3: Atur URL Slug

Di bagian Rewrite, atur slug URL. Contoh:

  • Custom Rewrite Slug: portofolio

  • With Front: False (agar tidak ditambah /blog/ di depan) 

Langkah 4: Simpan dan Mulai Gunakan

  1. Klik Add Post Type

  2. Buka Settings > Permalinks, klik Save Changes untuk flush rewrite rules 

  3. Anda akan melihat menu baru Portofolio di sidebar WordPress

  4. Mulai tambahkan konten seperti biasa

💡 Tips Pro: Jika ingin menambahkan custom fields (seperti “Klien”, “Tahun”, “Teknologi”), gunakan plugin ACF (Advanced Custom Fields). CPTUI hanya membuat post type—ACF melengkapinya dengan field kustom .

Metode 2: Membuat Custom Post Type dengan Coding (Manual)

Jika Anda ingin kontrol penuh dan tidak bergantung pada plugin, buat CPT secara manual dengan register_post_type() .

Langkah 1: Buka functions.php

  1. Masuk ke Appearance > Theme File Editor

  2. Buka functions.php

  3. Backup dulu sebelum mengedit

Langkah 2: Tambahkan Kode Register

php
function elrolum_register_portfolio_cpt() {
    $labels = array(
        'name'               => 'Portofolio',
        'singular_name'      => 'Portofolio Item',
        'menu_name'          => 'Portofolio',
        'add_new'            => 'Tambah Baru',
        'add_new_item'       => 'Tambah Portofolio Baru',
        'edit_item'          => 'Edit Portofolio',
        'view_item'          => 'Lihat Portofolio',
        'all_items'          => 'Semua Portofolio',
        'search_items'       => 'Cari Portofolio',
    );

    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'has_archive'        => true,
        'rewrite'            => array( 'slug' => 'portofolio' ),
        'supports'           => array( 'title', 'editor', 'thumbnail', 'excerpt' ),
        'menu_icon'          => 'dashicons-portfolio',
        'show_in_rest'       => true,
    );

    register_post_type( 'portofolio', $args );
}
add_action( 'init', 'elrolum_register_portfolio_cpt' );

Langkah 3: Pahami Setiap Argumen

ArgumenFungsi
labelsNama yang muncul di admin 
publicApakah bisa diakses publik
has_archiveMembuat halaman arsip 
rewriteSlug URL 
supportsFitur yang didukung (title, editor, thumbnail) 
menu_iconIkon di sidebar admin
show_in_restUntuk Gutenberg editor 

Langkah 4: Flush Permalinks

Setelah menambahkan kode:

  1. Buka Settings > Permalinks

  2. Klik Save Changes 

  3. Selesai! Menu Portofolio muncul di sidebar

⚠️ Peringatan: Jika Anda mengedit functions.php tema induk, perubahan akan hilang saat update tema. Gunakan child theme untuk menyimpan kode kustom Anda.

Langkah 3: Menampilkan Custom Post Type di Frontend

Setelah CPT dibuat, Anda perlu menampilkannya di website. Ada dua cara:

Cara 1: Menggunakan Template Otomatis

WordPress secara otomatis menggunakan template archive.php dan single.php dari tema Anda. Jika ingin tampilan khusus:

  1. Copy single.php dari tema induk

  2. Rename menjadi single-portofolio.php

  3. Edit sesuai kebutuhan

Hierarki template CPT:

  • single-{post_type}.php — untuk halaman single 

  • archive-{post_type}.php — untuk halaman arsip

Cara 2: Menggunakan Query Loop (Manual)

Jika ingin menampilkan CPT di halaman tertentu (misalnya homepage), gunakan WP_Query :

php
$portfolio_query = new WP_Query( array(
    'post_type'      => 'portofolio',
    'posts_per_page' => 6,
) );

if ( $portfolio_query->have_posts() ) {
    while ( $portfolio_query->have_posts() ) {
        $portfolio_query->the_post();
        // Tampilkan konten
        the_title( '<h3>', '</h3>' );
        the_content();
    }
    wp_reset_postdata();
}

Tips Lanjutan untuk Level Expert

1. Custom Taxonomy

Tambahkan taksonomi khusus untuk mengelompokkan CPT. Contoh: “Kategori Portofolio” atau “Jenis Proyek” .

2. Custom Fields

Gunakan ACF (Advanced Custom Fields) untuk menambahkan field seperti “Klien”, “Tahun”, “URL Proyek”. ACF terintegrasi langsung dengan CPT .

3. Custom Database Table

Jika CPT Anda punya banyak custom fields (20+), pertimbangkan untuk menggunakan custom database table alih-alih wp_postmeta. Ini meningkatkan performa query hingga 50-80% .

4. SEO untuk CPT

  • Pastikan permalink CPT Anda bersih dan mengandung keyword 

  • Gunakan Yoast SEO atau RankMath untuk optimasi meta 

  • Tambahkan schema markup yang sesuai dengan tipe konten 

Kesalahan Umum dan Cara Menghindarinya

KesalahanAkibatSolusi
Lupa flush permalinksCPT 404Settings > Permalinks > Save 
Slug sama dengan post type lainKonflikGunakan slug unik 
Edit tema indukPerubahan hilang saat updateGunakan child theme
Tidak set show_in_restTidak bisa pakai GutenbergSet ke true 
Tidak backupError tidak bisa dipulihkanBackup sebelum edit

 

Custom Post Type adalah cara WordPress untuk memperluas tipe konten—dari yang awalnya hanya Posts dan Pages, menjadi apa pun yang Anda butuhkan . Kuncinya:

  1. Pahami kapan butuh CPT — saat konten Anda butuh struktur berbeda

  2. Pilih metode — plugin (mudah) atau coding (kontrol penuh)

  3. Atur slug URL — bersih, mengandung keyword 

  4. Flush permalinks — agar URL baru berfungsi 

  5. Tampilkan di frontend — gunakan template atau Query Loop 

  6. Tambahkan taxonomy & fields — untuk struktur yang lebih kaya 

Dengan Custom Post Type, Anda bisa mengubah WordPress dari sekadar blog engine menjadi platform konten apa pun yang Anda butuhkan—portofolio, katalog produk, direktori, atau apa saja.

Ingat: CPT adalah fondasi. Untuk tampilan yang benar-benar kustom, Anda tetap butuh template dan custom fields.

Sudah siap membuat Custom Post Type pertama Anda?

💬 Punya pengalaman dengan CPT? Bagikan di kolom komentar!

Share:

Tinggalkan Komentar

Please enter your comment!
Please enter your name here

More like this

Ilustrasi pemula membuat toko online dengan WooCommerce, produk, keranjang, pembayaran, dan pengiriman

Cara Membuat Toko Online dengan WooCommerce (Panduan Lengkap)

WordPress, ElrolumNews — Anda punya produk untuk dijual, tapi belum punya tempat berjualan online? Atau sudah jualan di...
Ilustrasi optimasi database WordPress dengan pembersihan data sampah, optimasi tabel, dan peningkatan performa

Cara Optimasi Database WordPress (Panduan Lengkap)

WordPress, ELrolumnews — Website Anda sudah pakai cache, sudah kompresi gambar, sudah pasang CDN. Tapi kok masih lambat—terutama...
Ilustrasi keamanan WordPress dengan perisai, gembok, firewall, dan backup untuk melindungi dari serangan hack

Cara Mengamankan WordPress dari Hack: Panduan Lengkap

WordPress, ELrolumNews — Pernahkah Anda menerima email dari hosting bahwa website Anda "terindikasi malware"? Atau tiba-tiba website Anda...

More

Recomended

Read More