Memahami Tipe Artikel Kustom WordPress: Panduan Praktis Lengkap dari Pembuatan hingga Publikasi.

3 menit baca
2026-03-17
2026-06-04
2,422
Saya mendapatkan komisi ketika Anda berbelanja melalui tautan di bawah ini, tanpa biaya tambahan untuk Anda.

Apa itu jenis artikel kustom (custom article types) di WordPress?

WordPress secara default menyediakan dua jenis konten, yaitu “Artikel” (Article) dan “Halaman” (Page). Namun, saat membangun situs web yang kompleks, hal ini seringkali tidak cukup. Untuk itu, diperlukan fitur “Tipe Postingan Kustom” (Custom Post Type). CPTIni merupakan fitur inti dari WordPress yang memungkinkan pengembang untuk membuat jenis konten baru dengan struktur data yang terpisah dan antarmuka manajemen di belakang layar. Anda dapat menganggapnya sebagai “templat konten” yang digunakan untuk mengelola jenis informasi tertentu.

Sebagai contoh, sebuah situs ulasan film dapat menggunakan jenis artikel “Artikel” yang sudah ada untuk menulis berita, sekaligus membuat jenis artikel khusus bernama “Film” untuk mengelola entri film secara terpisah. Setiap entri film dapat mencakup informasi seperti sutradara, pemeran utama, dan skor. Sebuah situs toko online dapat membuat jenis artikel “Produk”, sedangkan situs sekolah dapat membuat jenis artikel “Kursus” atau “Guru”. Dengan menggunakan pendekatan ini, sistem dapat lebih terstruktur dan mudah dikelola. CPTBerbagai jenis konten dapat dipisahkan dengan jelas, sehingga pengelolaan data menjadi lebih efisien. Hal ini juga menciptakan dasar yang kuat untuk penyesuaian template dan pengembangan fitur di kemudian hari.

Bagaimana cara membuat jenis artikel kustom?

Ada dua metode utama untuk membuat jenis artikel khusus (custom article types) di WordPress: dengan menggunakan kode (coding) atau dengan menggunakan plugin. Bagi para pengembang, menguasai metode pendaftaran menggunakan kode sangat penting, karena metode ini memberikan tingkat fleksibilitas dan kontrol yang lebih tinggi, serta memudahkan manajemen versi di dalam tema atau plugin khusus yang dibuat.

推荐阅读 Menguasai sepenuhnya jenis artikel kustom di WordPress: Dari pembuatan hingga penerapan praktis tingkat lanjut

Mendaftarkan jenis artikel kustom melalui kode

Cara yang paling standar dan paling direkomendasikan adalah dengan menggunakan tema yang telah ditentukan. functions.php Digunakan dalam sebuah file atau sebagai plugin fungsional yang independen. register_post_type Fungsi tersebut digunakan untuk melakukan pendaftaran. Fungsi ini menerima dua parameter: identifikasi tipe artikel khusus (slug) dan sebuah array yang berisi semua parameter yang diperlukan.

UltaHost – Hosting untuk WordPress
Jaminan pengembalian uang dalam 30 hari, bandwidth dan basis data yang tidak terbatas, perlindungan DDoS gratis, diskon 50% untuk pembelian selama 3 tahun (dari harga normal: 50%).

Berikut adalah contoh dasar untuk membuat jenis artikel kustom bernama “Film”:

function create_movie_post_type() {
    $labels = array(
        'name'               => '电影',
        'singular_name'      => '电影',
        'menu_name'          => '电影管理',
        'add_new_item'       => '添加新电影',
        'edit_item'          => '编辑电影',
        'view_item'          => '查看电影',
    );
    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'publicly_queryable' => true,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'query_var'          => true,
        'rewrite'            => array( 'slug' => 'movie' ),
        'capability_type'    => 'post',
        'has_archive'        => true,
        'hierarchical'       => false,
        'menu_position'      => 5,
        'menu_icon'          => 'dashicons-video-alt',
        'supports'           => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ),
    );
    register_post_type( 'movie', $args );
}
add_action( 'init', 'create_movie_post_type' );

Kode ini melakukan hal berikut: add_action Hook tersebut dieksekusi saat WordPress diinisialisasi. create_movie_post_type Fungsi. Di dalam fungsi tersebut, didefinisikan kode untuk menampilkan tag. $labels dan parameter inti $argsParameter kunci meliputi:public Mengontrol apakah akan ditampilkan di latar belakang (background) atau di depan layar (foreground).rewrite Definisikan aturan penggantian URL; dengan aturan ini, tautan yang mengarah ke artikel film tertentu akan diubah menjadi… yoursite.com/movie/some-moviehas_archive Menentukan apakah akan ada halaman arsip (seperti…) yoursite.com/movie/);supports Array mendefinisikan fitur-fitur yang didukung oleh tipe konten tersebut, seperti judul, editor, gambar unggulan, dan lainnya.

Menggunakan plugin untuk membuat jenis artikel kustom

Bagi pengguna yang tidak terbiasa dengan kode, plugin merupakan pilihan yang sangat baik untuk memulai dengan cepat. Custom Post Type UI dan Toolset Types adalah dua plugin yang sangat populer. Kedua plugin ini menyediakan antarmuka pengguna yang intuitif, yang memungkinkan Anda untuk mendefinisikan sesuatu dengan cara menandai pilihan (checkbox) dan mengisi formulir. CPT Berbagai atributnya, seperti tag, tingkat keterbukaan (publicity), fitur-fitur yang didukung, dan lainnya.

Menggunakan plugin merupakan cara yang sederhana dan cepat untuk membuat fitur baru, namun biasanya akan menimbulkan peningkatan jumlah permintaan (query) ke basis data, dan konfigurasinya bergantung pada plugin itu sendiri. Saat situs web dipindahkan ke host lain atau mengalami pembaruan yang signifikan, mungkin diperlukan langkah-langkah tambahan untuk memastikan pengaturan tipe artikel khusus tetap terjaga. Oleh karena itu, untuk lingkungan produksi atau proyek yang memerlukan pemeliharaan jangka panjang, metode pendaftaran kode (code registration) umumnya merupakan pilihan yang lebih baik.

推荐阅读 Panduan Pengembangan Tema WordPress: Membangun Tema Kustom Berkinerja Tinggi dari Nol.

Menambahkan field khusus untuk jenis artikel yang dikustomisasi

Tipe artikel kustom sendiri hanya menyediakan kerangka struktural saja. Untuk dapat menyimpan informasi yang unik (seperti “Tanggal Rilis” atau “Sutradara” sebuah film), diperlukan bidang kustom (Custom Fields) atau kotak meta kustom (Meta Boxes) yang lebih lengkap. WordPress menyediakan panel “Bidang Kustom” (Custom Fields) yang bawaan, namun antarmukanya sederhana dan fungsinya terbatas, sehingga tidak cocok untuk digunakan oleh editor konten.

Menggunakan plugin untuk field kustom tingkat lanjut

Plugin Advanced Custom Fields (ACC) merupakan standar industri untuk pengelolaan bidang (fields) khusus (custom fields). Plugin ini memungkinkan Anda untuk mengatur bidang khusus tersebut melalui antarmuka grafis, baik untuk berbagai jenis artikel maupun untuk konten lainnya yang Anda miliki. CPTBuat berbagai jenis kelompok bidang (field groups), seperti teks, gambar, kotak pilihan (checkbox), hubungan antar data (relationships), dan lainnya.

Misalnya, untuk kata “film”.” CPT Buatlah sebuah grup field yang mencakup kolom “Sutradara”, “Pemeran Utama”, dan “Tahun Rilis”. Setelah menginstal dan mengaktifkan plugin ACF (Advanced Custom Fields), buka halaman pengaturannya, lalu buatlah grup field baru. Atur aturan penempatan grup field tersebut menjadi “Jenis Artikel Sama dengan Film”. Selanjutnya, tambahkan kolom “Sutradara” (jenis field teks), “Pemeran Utama” (jenis field area teks), dan “Tahun Rilis” (jenis field angka) secara bertahap. Setelah menyimpan pengaturan tersebut, saat Anda mengedit konten film di backend, Anda akan melihat kotak masuk (input fields) yang telah disediakan untuk kolom-kolom tersebut.

hosting.com hosting bersama
Kinerja tinggi, dilengkapi dengan CPU AMD EPYC, penyimpanan SSD NVMe, dan LiteSpeed, dukungan internal ahli 24 jam sehari, langkah-langkah keamanan canggih termasuk SSL, brute force, malware, dan perlindungan DDoS, menghemat hingga 731 TB/bulan.

Membuat meta box kustom melalui kode

Jika Anda ingin mengendalikannya sepenuhnya melalui kode, Anda dapat melakukannya untuk item Anda. CPT Membangun kotak meta (meta box) khusus sendiri memerlukan penggunaan API kotak meta (meta box API) dari WordPress serta fungsi-fungsi penyimpanan (saving functions) yang tersedia. Meskipun jumlah kode yang dibutuhkan cukup banyak, hal ini memberikan kebebasan penuh dalam hal penyesuaian (customization).

Berikut adalah contoh sederhana yang menunjukkan cara menambahkan kolom “Sutradara” untuk data “Film”:

// 1. 添加元框
function add_movie_director_meta_box() {
    add_meta_box(
        'movie_director_meta_box', // 元框ID
        '导演信息', // 元框标题
        'render_movie_director_meta_box', // 回调函数,用于输出HTML
        'movie', // 目标文章类型
        'side', // 位置
        'default' // 优先级
    );
}
add_action( 'add_meta_boxes', 'add_movie_director_meta_box' );

// 2. 渲染元框内容
function render_movie_director_meta_box( $post ) {
    // 获取已保存的值
    $director = get_post_meta( $post->ID, '_movie_director', true );
    // 添加安全字段
    wp_nonce_field( 'movie_director_nonce_action', 'movie_director_nonce' );
    // 输出HTML
    echo '<label for="movie_director">导演姓名:</label>';
    echo '<input type="text" id="movie_director" name="movie_director" value="' . esc_attr( $director ) . '" style="width:100%;" />';
}

// 3. 保存元框数据
function save_movie_director_meta_data( $post_id ) {
    // 检查nonce、权限、自动保存等
    if ( ! isset( $_POST['movie_director_nonce'] ) || ! wp_verify_nonce( $_POST['movie_director_nonce'], 'movie_director_nonce_action' ) ) {
        return;
    }
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
        return;
    }
    if ( ! current_user_can( 'edit_post', $post_id ) ) {
        return;
    }
    // 保存数据
    if ( isset( $_POST['movie_director'] ) ) {
        update_post_meta( $post_id, '_movie_director', sanitize_text_field( $_POST['movie_director'] ) );
    }
}
add_action( 'save_post', 'save_movie_director_meta_data' );

Kode ini membuat sebuah kotak meta (meta box) yang terletak di sisi bar (sidebar), yang berisi bidang untuk memasukkan nama sutradara. Perlu diperhatikan bahwa proses penyimpanan data mengikuti prosedur keamanan standar WordPress, termasuk… nonce Pemverifikasian, pemeriksaan hak akses, dan pencegahan pemrosesan berulang saat penyimpanan otomatis. Data yang disimpan melalui… update_post_meta Fungsi disimpan di… wp_postmeta Di dalam tabel.

推荐阅读 Tutorial penggunaan plugin WooCommerce: panduan lengkap dari instalasi dan konfigurasi hingga pengoperasian toko.

Membuat file template untuk jenis artikel kustom

Dibuat. CPT Setelah konten diisi, diperlukan template untuk menampilkan konten tersebut di sisi frontend (pengguna). WordPress mengikuti sistem hierarki template, sehingga akan secara otomatis mencari file template yang sesuai untuk menampilkan konten Anda.

Template untuk Jenis Artikel Tunggal

Ketika pengguna mengakses konten film tertentu (misalnya…) yoursite.com/movie/inceptionKetika Anda membuat halaman baru di WordPress, sistem akan mencari file template sesuai dengan urutan berikut:
1. single-movie.php (Sangat spesifik)
2. single.php
3. singular.php
4. index.php

Hosting bersama InterServer.
Hosting bersama seharga $2,50 USD per bulan, diskon $0,1 USD untuk bulan pertama dengan kode promo tryinterserver, serta 461 skrip aplikasi cloud yang dapat diinstal dengan sekali klik.

Oleh karena itu, praktik terbaik adalah membuat sebuah folder dengan nama tertentu di dalam folder tema Anda. single-movie.php File tersebut berisi informasi terkait cara penayangan film. Di dalam file ini, Anda dapat menyesuaikan tampilan film sesuai keinginan, serta memanggil field-field khusus (custom fields) yang telah Anda buat sebelumnya.

<?php get_header(); ?>
<article id="post-<?php the_ID(); ?>" no numeric noise key 1008>
    <header class="entry-header">
        <h1 class="entry-title"><?php the_title(); ?></h1>
        <div class="entry-meta">
            <span>导演:</span>
        </div>
    </header>
    <div class="entry-content">
        
        <!-- 显示其他自定义字段,如主演、上映年份 -->
        <p><strong>Pemeran Utama:</strong><?php the_field( 'lead_actor' ); ?></p>
        <p><strong>Tahun Rilis:</strong><?php the_field( 'release_year' ); ?></p>
    </div>
</article>
<?php get_footer(); ?>

Jika menggunakan plugin ACF, Anda dapat memanfaatkan fitur-fitur yang disediakannya. the_field() Fungsi ini memungkinkan pengeluaran nilai field dengan mudah. Jika field tersebut disimpan menggunakan kode kustom, maka kode tersebut akan digunakan. get_post_meta() Fungsi.

Template untuk Halaman Arsip

Ketika pengguna mengakses halaman daftar film (misalnya…) yoursite.com/movie/Ketika hal tersebut terjadi, WordPress akan mencari:
1. archive-movie.php
2. archive.php
3. index.php

Membuat archive-movie.php Anda dapat menggunakan struktur file (berupa kode) yang mendukung penggunaan loop WordPress untuk menampilkan daftar semua film, serta menyesuaikan kriteria pencarian atau mengimplementasikan fitur halamanan (paging).

<?php get_header(); ?>
<h1>Koleksi Film</h1>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <article>
        <h2><a href="/id/</?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
        <?php the_post_thumbnail( 'medium' ); ?>
        <p>导演:</p>
        <?php the_excerpt(); ?>
    </article>
<?php endwhile; the_posts_navigation(); else : ?>
    <p>Tidak ada film yang tersedia.</p>

Menyimpulkan.

Menguasai jenis artikel kustom di WordPress merupakan langkah penting untuk melepaskan diri dari bentuk blog yang sederhana dan membangun situs web modern yang penuh fitur serta memiliki struktur yang jelas. Mulailah dengan menggunakan… register_post_type Prosesnya dimulai dengan pendaftaran kode fungsi, kemudian penambahan bidang khusus (feature fields) melalui plugin ACF atau kotak meta yang disesuaikan, dan selanjutnya pembuatan elemen-elemen khusus sesuai dengan struktur tata letak (template hierarchy). single-{cpt}.phparchive-{cpt}.php File template tersebut, bersama dengan seluruh prosesnya, membentuk suatu kesatuan yang lengkap. CPT Mengembangkan alur kerja (development workflow).

Melalui praktik langsung, kami telah membuat tipe konten “film” yang memiliki menu backend yang terpisah, bidang data khusus, serta tampilan frontend yang dapat disesuaikan. Metode ini dapat dengan mudah diterapkan pada kebutuhan konten lainnya, seperti “produk”, “koleksi karya”, “acara”, dan sebagainya. Memahami dan menerapkan pengetahuan ini akan sangat meningkatkan kemampuan Anda sebagai pengembang WordPress, sehingga Anda dapat menciptakan pengalaman digital yang benar-benar disesuaikan dengan kebutuhan pengguna.

FAQ - Pertanyaan yang Sering Diajukan.

Apa perbedaan antara jenis artikel yang disesuaikan (custom article types) dan sistem klasifikasi yang disesuaikan (custom classification systems)?

Tipe artikel khusus digunakan untuk mendefinisikan entitas konten baru, seperti “film” atau “produk”. Sementara itu, sistem klasifikasi khusus (seperti tag atau ekstensi dari katalog klasifikasi) digunakan untuk mengklasifikasikan dan mengorganisir konten. Satu tipe artikel khusus dapat dihubungkan dengan beberapa sistem klasifikasi khusus. Sebagai contoh, tipe artikel “film” dapat dikaitkan dengan berbagai tag atau kategori yang mencerminkan jenis-jenis film tertentu. CPT Dapat mengaitkan dua kategori kustom, yaitu “Tipe” (aksi, komedi) dan “Wilayah” (bahasa Mandarin, Hollywood).

Sebaiknya saya mendaftarkan CPT (Custom Post Type) di file `functions.php` yang terletak dalam tema, atau di dalam plugin yang terpisah?

Hal ini tergantung pada tingkat kompleksitas proyek dan persyaratan portabilitasnya. Untuk proyek-proyek yang erat kaitannya dengan topik tertentu dan tidak dapat digunakan kembali (tidak dapat dipindahkan ke lingkungan lain), CPTBisa diletakkan di dalam judul (subject) pesan. functions.php Benar. Namun, praktik terbaik adalah dengan membuat sebuah plugin fungsional yang terpisah untuk menyimpan semua kode registrasi tipe artikel dan kategori yang telah disesuaikan. Dengan cara ini, bahkan jika Anda mengganti tema, tipe konten tersebut beserta datanya akan tetap tersimpan, sehingga terjadi pemisahan yang lebih baik antara “fungsi” dan “tampilan” situs web.

Bagaimana cara mengubah struktur tautan tetap (fixed link) untuk jenis artikel kustom yang sudah ada?

Anda dapat mendaftar di sini. CPT Pada saat itu, melalui… rewrite Pengaturan parameter juga dapat dilakukan setelah proses pendaftaran selesai. register_post_type_args Anda perlu memodifikasi filter tersebut. Setelah modifikasi selesai, Anda harus mengakses halaman “Settings” (Pengaturan) → “Permanen Link” (Fixed Links) di backend WordPress, lalu klik “Save Changes” (Simpan Perubahan) untuk memperbarui aturan penulisan ulang (rewrite rules). Jika tidak, struktur tautan baru mungkin tidak akan berlaku.

Mengapa saya tidak dapat melihat jenis artikel kustom yang saya buat di halaman depan (front end)?

Ini biasanya disebabkan oleh pengaturan parameter pendaftaran yang tidak tepat. Silakan periksa fungsi pendaftaran terlebih dahulu. $args in the array 'public''publicly_queryable' Apakah semua parameter telah diatur dengan benar? trueKedua, pastikan… 'show_ui''show_in_nav_menus' Juga untuk… trueTerakhir, periksa file template tersebut.single-{cpt}.phparchive-{cpt}.phpApakah file tersebut telah dibuat dengan benar dan berada di direktori akar (root directory) dari tema acara tersebut?