Menguasai Jenis Artikel Custom di WordPress: Panduan Langkah demi Langkah dari Penciptaan hingga Penerbitan

Bacaan 3 minit
2026-03-17
2026-06-04
2,425
Saya mendapat komisen apabila anda membeli-belah melalui pautan di bawah, tanpa sebarang kos tambahan kepada anda.

Apa itu Jenis Artikel Custom (Custom Post Types) dalam WordPress?

WordPress menyediakan dua jenis kandungan lalai, iaitu “Artikel” (Posts) dan “Halaman” (Pages). Namun, ini seringkali tidak mencukupi semasa membina laman web yang lebih kompleks. Oleh itu, penggunaan Jenis Artikel Khusus (Custom Post Type) menjadi sangat penting. CPTIa merupakan salah satu fungsi teras WordPress yang membenarkan pembangun mencipta jenis kandungan baru dengan struktur data yang berasingan dan antara muka pengurusan dalaman. Anda boleh menganggapnya sebagai “templat kandungan” yang digunakan untuk mengurus maklumat tertentu.

Sebagai contoh, sebuah laman web ulasan filem boleh menggunakan jenis artikel “Artikel” yang sedia ada untuk menulis berita, sambil mencipta jenis artikel khusus yang dinamakan “Filem” untuk mengurus entri filem dengan lebih terperinci. Setiap entri filem boleh merangkumi maklumat seperti pengarah, pelakon utama, dan skor. Sebuah laman web e-dagang pula boleh mencipta jenis artikel “Produk”, manakala sebuah laman web sekolah boleh mencipta jenis artikel “Kursus” atau “Guru”. Dengan menggunakan pendekatan ini, pengurusan kandungan menjadi lebih mudah dan teratur. CPTKandungan yang berbeza jenis dapat dipisahkan dengan jelas, menjadikan pengurusan data lebih cekap, dan juga mewujudkan asas yang kukuh untuk penyesuaian templat dan pengembangan fungsi pada masa akan datang.

Bagaimana untuk membuat jenis artikel khusus (custom article types)?

Dalam WordPress, terdapat dua kaedah utama untuk membuat jenis artikel khusus (custom article types): dengan menggunakan kod untuk pendaftaran atau dengan menggunakan plugin. Bagi pembangun, kemahiran dalam pendaftaran menggunakan kod adalah sangat penting kerana ia menyediakan fleksibiliti dan kawalan yang lebih tinggi, serta memudahkan pengurusan versi dalam tema atau plugin khusus.

Diperoleh daripada WEB\nDisyorkan untuk membaca. Menguasai sepenuhnya jenis artikel kustom di WordPress: Dari penciptaan hingga amalan penggunaan yang lebih lanjut

Mendaftar jenis artikel khusus melalui kod

Cara yang paling standard dan disyorkan adalah dengan menggunakan tema yang telah ditetapkan. functions.php Digunakan dalam fail atau sebagai plugin fungsi yang berdiri sendiri. register_post_type Fungsi tersebut digunakan untuk pendaftaran. Fungsi ini menerima dua parameter: pengekod identifikasi jenis artikel khusus (slug) dan sebuah array yang mengandungi semua parameter yang diperlukan.

UltaHost – Penyedia Hosting untuk WordPress
Jaminan pemulangan wang dalam tempoh 30 hari, lebar jalur dan pangkalan data yang tidak terhad, perlindungan DDoS percuma, diskaun 50% untuk pembelian selama 3 tahun.

Berikut adalah contoh asas untuk membuat jenis artikel khusus yang dinamakan “Filem”:

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' );

Kod ini berfungsi dengan… add_action Hook dilaksanakan semasa WordPress dimulakan (diprakati). create_movie_post_type Fungsi. Di dalam fungsi tersebut, terdapat definisi untuk menunjukkan label (tag). $labels dan parameter utama $argsParameter kritikal termasuk:public Kawalan untuk menentukan sama ada untuk menunjukkan maklumat di latar belakang (background) atau di skrin utama (foreground).rewrite Mendefinisikan peraturan penulisan semula URL, di mana pautan untuk mengakses filem tertentu akan menjadi… yoursite.com/movie/some-moviehas_archive Menentukan sama ada terdapat halaman arkib (seperti…) yoursite.com/movie/);supports Senarai tersebut menentukan ciri-ciri yang disokong oleh jenis kandungan tersebut, seperti tajuk, editor, imej istimewa, dan lain-lain.

Menggunakan plugin untuk membuat jenis artikel khusus (custom article types)

Bagi pengguna yang tidak biasa dengan kod, plugin merupakan pilihan yang sangat baik untuk memulakan dengan cepat. Custom Post Type UI dan Toolset Types adalah dua plugin yang sangat popular. Kedua-duanya menyediakan antara muka pengguna yang intuitif, membolehkan anda menentukan pengaturan dengan hanya mengklik butang dan mengisi borang. CPT Pelbagai atribut, seperti tag, tahap keterbukaan (publicity), dan ciri-ciri yang disokong, etc.

Menggunakan kaedah plugin adalah cara yang mudah dan cepat untuk mencipta sesuatu, tetapi biasanya ia akan menyebabkan lebih banyak pertanyaan (queries) ke pangkalan data, dan konfigurasinya bergantung pada plugin itu sendiri. Apabila laman web dipindahkan ke hos yang lain atau diperbaharui secara besar-besaran, mungkin diperlukan langkah tambahan untuk memastikan tetapan jenis artikel yang disesuaikan dapat dikekalkan. Oleh itu, untuk persekitaran produksi atau projek yang memerlukan penyelenggaraan jangka panjang, kaedah pendaftaran kod (code registration) biasanya merupakan pilihan yang lebih baik.

Diperoleh daripada WEB\nDisyorkan untuk membaca. Panduan Pembangunan Tema WordPress: Membina Tema Custom Berprestasi Tinggi Dari Kosong

Menambahkan medan kustom untuk jenis artikel yang disesuaikan.

Jenis artikel yang disesuaikan sendiri hanya menyediakan satu rangka struktur asas. Untuk menyimpan maklumat yang unik (seperti “tarikh tayangan” atau “pengarah” filem), adalah perlu menggunakan medan khusus (Custom Fields) atau kotak meta yang lebih canggih (Meta Boxes). WordPress mempunyai panel “Custom Fields” yang terbina dalam, namun antaranya agak ringkas dan fungsi-fungsinya terhad, menjadikannya tidak sesuai untuk digunakan oleh pengedit kandungan.

Menggunakan plugin bidang kustom lanjutan

Plugin Advanced Custom Fields (ACC) merupakan standard industri untuk menguruskan bidang khusus (custom fields). Ia membenarkan anda untuk menetapkan pengaturan untuk pelbagai jenis artikel melalui antara muka grafik yang mudah digunakan. CPTCipta pelbagai jenis kumpulan medan, seperti teks, gambar, kotak pilihan, hubungan berkaitan, dan lain-lain.

Sebagai contoh, untuk “filem”.” CPT Buat satu kumpulan medan yang mengandungi “Pengarah”, “Pelakon Utama” dan “Tahun Tayangan”. Setelah menginstal dan mengaktifkan plugin ACF, masuk ke halaman tetapannya, buat kumpulan medan yang baru, dan tetapkan peraturan kedudukannya sebagai “Jenis Artikel Sama Dengan Filem”. Kemudian, anda boleh menambah “Pengarah” (medan teks), “Pelakon Utama” (medan kawasan teks) dan “Tahun Tayangan” (medan nombor) satu persatu. Setelah disimpan, semasa mengedit kandungan filem di belakang tabir, anda akan melihat kotak masuk yang mudah digunakan ini.

hosting.com Hosting Bersama
Prestasi tinggi, menampilkan CPU AMD EPYC, storan SSD NVMe dan LiteSpeed, dengan sokongan pakar dalaman 24/7, langkah keselamatan canggih termasuk SSL, perlindungan serangan paksa kata laluan, perisian hasad dan DDoS, menjimatkan sehingga 73%.

Mencipta meta kotak khusus melalui kod

Jika anda ingin mengawal keseluruhan proses tersebut sepenuhnya melalui kod, anda boleh melakukannya untuk aplikasi atau sistem anda. CPT Membangunkan meta box khusus sendiri memerlukan penggunaan API meta box dan fungsi penyimpanan yang disediakan oleh WordPress. Walaupun jumlah kod yang diperlukan agak banyak, ia memberikan kebebasan yang penuh untuk membuat penyesuaian mengikut keperluan.

Berikut adalah contoh yang disederhanakan, menunjukkan cara untuk menambahkan lajur “Pengarah” untuk “Filem”:

// 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' );

Kod ini membuat sebuah kotak meta yang terletak di bar sisi, yang mengandungi bidang untuk memasukkan nama pengarah. Perlu diperhatikan bahawa proses pemeriksaan keselamatan standard WordPress digunakan semasa penyimpanan data, termasuk… nonce Pemverian, pemeriksaan hak akses, dan pencegahan pemprosesan berulang semasa penyimpanan automatik. Data yang disimpan melalui… update_post_meta Fungsi disimpan dalam… wp_postmeta Dalam jadual.

Diperoleh daripada WEB\nDisyorkan untuk membaca. Panduan Penggunaan Plugin WooCommerce: Daripada Pemasangan dan Konfigurasi Hingga Pengurusan Toko Secara Lengkap

Mencipta fail templat untuk jenis artikel khusus (custom article type)

Dibuat. CPT Setelah kandungan diisi, anda perlu menyediakan templat untuk penampilan di bahagian hadapan (frontend). WordPress mengikuti sistem hierarki templat, dan akan mencari fail templat yang sesuai secara automatik untuk menunjukkan kandungan anda.

Template untuk Jenis Artikel Tunggal

Apabila pengguna mengakses kandungan filem yang berasingan (seperti…) yoursite.com/movie/inceptionKetika mencari fail templat, WordPress akan mencarinya mengikut urutan berikut:
1. single-movie.php (Spesifik paling)
2. single.php
3. singular.php
4. index.php

Hosting Bersama InterServer
Hosting kongsi: 1TB/bulan pada $2.50 USD, bulan pertama pada $0.10 USD dengan kod promo tryinterserver. 461 skrip aplikasi awan tersedia untuk pemasangan satu klik.

Oleh itu, amalan terbaik adalah untuk membuat sebuah fail dengan nama “” dalam folder tema anda. single-movie.php Fail tersebut. Di dalam fail ini, anda boleh menyesuaikan sepenuhnya cara filem dipaparkan dan memanggil bidang khusus yang telah anda buat sebelum ini.

<p>
<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>Pelakon Utama:</strong><?php the_field( 'lead_actor' ); ?></p>
        <p><strong>Tahun Tayangan:</strong><?php the_field( 'release_year' ); ?></p>
    </div>
</article>
<?php get_footer(); ?>

Jika menggunakan plugin ACF, anda boleh menggunakan ciri-ciri yang disediakan olehnya. the_field() Fungsi tersebut membenarkan pengeluaran nilai medan dengan mudah. Jika medan tersebut disimpan menggunakan kod khusus (custom code), maka kod tersebut akan digunakan untuk mengakses dan memaparkan nilai tersebut. get_post_meta() Fungsi.

Template untuk Halaman Arkib

Apabila pengguna mengakses halaman senarai filem (seperti…) yoursite.com/movie/Apabila sesuatu berlaku, WordPress akan mencari:
1. archive-movie.php
2. archive.php
3. index.php

Mencipta archive-movie.php Fail tersebut membenarkan anda menggunakan pengulangan (loop) dalam WordPress untuk menyenarai semua filem, serta menyesuaikan kriteria carian atau menggunakan ciri penggulungan halaman (pagination).

<p>
<h1>Koleksi Filem</h1>
\n
    <article>
        <h2><a href="/ms/</?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 filem tersedia pada masa ini.</p>

RINGKASAN

Menguasai jenis artikel khusus (custom post types) dalam WordPress adalah langkah penting untuk melepaskan diri daripada format blog yang ringkas dan membina laman web moden yang penuh dengan fungsi serta struktur yang jelas. Bermula dengan… register_post_type Prosesnya bermula dengan pendaftaran kod fungsi, kemudian menambahkan bidang khas melalui plugin ACF atau kotak meta yang disesuaikan, dan seterusnya membuat struktur yang khusus mengikut hierarki templat. single-{cpt}.phparchive-{cpt}.php Fail templat tersebut, secara keseluruhan, membentuk satu proses yang lengkap. CPT Membangunkan aliran kerja (development workflow).

Melalui latihan praktikal, kami telah mencipta jenis kandungan “filem” yang mempunyai menu belakang panggung yang berasingan, bidang data khusus, dan paparan hadapan yang disesuaikan. Pendekatan metodologi ini boleh dipindahkan dengan lancar ke keperluan kandungan lain seperti “produk”, “koleksi karya”, “acara”, dan sebagainya. Memahami dan mengaplikasikan pengetahuan ini akan meningkatkan kemahiran anda sebagai pembangun WordPress dengan ketara, membolehkan anda mencipta pengalaman digital yang benar-benar diperibadikan untuk pengguna.

FAQ - Soalan Lazim

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

Jenis artikel khusus digunakan untuk mendefinisikan entiti kandungan yang baru, seperti “filem” atau “produk”. Sementara itu, sistem pengklasifikasian khusus (seperti tag atau pengembangan direktori klasifikasi) digunakan untuk mengklasifikasikan dan mengatur kandungan tersebut. Satu jenis artikel khusus boleh dikaitkan dengan beberapa sistem pengklasifikasian khusus. Sebagai contoh, jenis artikel “filem” boleh dikaitkan dengan pelbagai tag atau kategori yang berkaitan dengan filem. CPT Kedua-dua kategori tersedia, iaitu “Jenis” (Aksi, Komedi) dan “Wilayah” (Bahasa Cina, Hollywood), boleh dihubungkan bersama-sama.

Saya sepatutnya mendaftarkan CPT (Custom Post Type) dalam fail functions.php untuk tema tersebut, atau dalam plugin yang berasingan?

Ia bergantung pada kerumitan projek dan keperluan kesesuaian (portability)nya. Bagi projek yang berkait rapat dengan topik tertentu dan tidak boleh digunakan semula (tidak boleh digeneralisasi), CPTIa boleh diletakkan dalam bahagian tajuk (title). functions.php Ya. Namun, amalan terbaik adalah untuk membuat sebuah plugin fungsi yang berasingan yang menyimpan semua kod pendaftaran untuk jenis artikel dan kategori yang disesuaikan. Dengan cara ini, walaupun anda menukar tema, jenis kandungan tersebut serta data yang berkaitan akan kekal, dan ini membolehkan pemisahan yang lebih baik antara “fungsi” dan “rupa” laman web.

Bagaimana untuk mengubah struktur pautan tetap bagi jenis artikel kustom yang sedia ada?

Anda boleh mendaftar di sini. CPT Melalui masa… rewrite Penetapan parameter juga boleh dilakukan selepas pendaftaran. register_post_type_args Penapis tersebut perlu diubah suai. Selepas pengubahsuaian, anda mesti mengakses halaman “Settings” -> “Permanent Links” di panel pentadbiran WordPress, dan klik “Save Changes” sekali sahaja untuk memuat semula peraturan penulisan semula (rewrite rules). Jika tidak, struktur pautan yang baru mungkin tidak akan berkesan.

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

Ini biasanya disebabkan oleh pengaturan parameter pendaftaran yang tidak betul. Sila periksa fungsi pendaftaran terlebih dahulu. $args Dalam array 'public''publicly_queryable' Adakah semua parameter telah ditetapkan? trueKedua, pastikan… 'show_ui''show_in_nav_menus' Juga untuk… trueAkhir sekali, periksa fail templat (template file).single-{cpt}.phparchive-{cpt}.phpAdakah ia telah dibuat dengan betul dan terletak di dalam direktori akar tema acara tersebut?