You are currently viewing Cara Membuat Custom Post Tanpa Plugin di WordPress

Cara Membuat Custom Post Tanpa Plugin di WordPress

WordPress adalah platform blogging dan CMS (Content Management System) yang sangat populer. Salah satu alasan mengapa WordPress sangat populer adalah fleksibilitas dan kemampuannya untuk disesuaikan sesuai kebutuhan pengguna. Salah satu cara untuk menyesuaikan WordPress adalah dengan membuat “Custom Post Types” (CPT).

Custom Post Types memungkinkan Anda untuk membuat jenis konten baru di WordPress selain konten standar seperti ‘post’ dan ‘pages’. Anda bisa membuat CPT untuk apa saja, misalnya untuk ‘buku’, ‘film’, ‘resepi’, dan lain-lain.

Berikut ini adalah cara membuat Custom Post Types tanpa menggunakan plugin:

 

Membuat Custom Post dengan Script

Membuka file functions.php

File functions.php adalah tempat di mana Anda bisa menambahkan fungsi kustom ke tema WordPress Anda. Anda bisa menemukannya di dalam folder tema aktif Anda, biasanya di wp-content/themes/{nama-tema}/.

Kalau saya sendiri, lebih suka menggunakan plugin injeksi kode, untuk memasukkan script PHP ini.

Menambahkan fungsi untuk membuat Custom Post Type

Tambahkan kode berikut ke dalam file functions.php Anda:

add_action( 'init', 'create_book_post_type' );

function create_book_post_type() {
register_post_type( 'buku',
array(
'labels' => array(
'name' => __( 'Buku' ),
'singular_name' => __( 'Buku' )
),
'public' => true,
'has_archive' => true,
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' ),
)
);
}

Kode di atas akan membuat Custom Post Type dengan nama ‘buku’. Anda bisa mengganti ‘buku’ dengan apa pun yang Anda inginkan.

Menambahkan fungsi untuk membuat custom taxonomy

Selain membuat Custom Post Type, Anda juga bisa membuat ‘custom taxonomy’ untuk mengorganisir konten Anda. Taxonomy adalah cara untuk mengelompokkan konten di WordPress. ‘Category’ dan ‘Tag’ adalah contoh taxonomy standar di WordPress.

Tambahkan kode berikut ke dalam file functions.php Anda untuk membuat custom taxonomy:

// Register custom categories
register_taxonomy(
'buku_category',
'buku',
array(
'label' => __( 'Kategori Buku' ),
'rewrite' => array( 'slug' => 'buku_category' ),
'hierarchical' => true,
)
);

// Register custom tags
register_taxonomy(
'buku_tags',
'buku',
array(
'label' => __( 'Tags Buku' ),
'rewrite' => array( 'slug' => 'buku_tags' ),
'hierarchical' => false,
)
);

Kode di atas akan membuat dua custom taxonomy, yaitu ‘Kategori Buku’ dan ‘Tags Buku’, yang bisa digunakan untuk mengelompokkan Custom Post Type ‘buku’.

Jika Anda menggunakan plugin injeksi kode, cukup tambahkan saja kode diatas di dalam script yang sama dengan script Custom Post Type sebelumnya. Letakkan di bagian bawah nya saja.

Menyimpan perubahan dan mengecek hasilnya

Setelah menambahkan kode di atas, simpan perubahan pada file functions.php dan buka dashboard WordPress Anda. Anda seharusnya akan melihat Custom Post Type ‘buku’ dan taxonomy ‘Kategori Buku’ dan ‘Tags Buku’ di menu sebelah kiri.

 

Label tags dan Kategori tidak muncul di front end

Untuk menampilkan tag dan kategori di front end, Anda perlu menambahkan kode ke file template custom post type Anda (misalnya, single-buku.php jika Anda memilikinya). Jika Anda tidak memilikinya, Anda bisa membuatnya berdasarkan single.php atau index.php. Berikut kode untuk menampilkan tag dan kategori:

<?php
// Kode di atas template
// ...

// Kode untuk menampilkan kategori
$categories = get_the_terms( $post->ID, 'buku_category' );
if ( $categories && ! is_wp_error( $categories ) ) :
echo '<div class="buku-categories">';
foreach ( $categories as $category ) {
echo '<a href="' . get_term_link( $category->slug, 'buku_category' ) . '">' . $category->name . '</a>';
}
echo '</div>';
endif;

// Kode untuk menampilkan tags
$tags = get_the_terms( $post->ID, 'buku_tags' );
if ( $tags && ! is_wp_error( $tags ) ) :
echo '<div class="buku-tags">';
foreach ( $tags as $tag ) {
echo '<a href="' . get_term_link( $tag->slug, 'buku_tags' ) . '">' . $tag->name . '</a>';
}
echo '</div>';
endif;

// Kode lain di bawah template
// ...
?>

Kode ini akan mencetak kategori dan tag ke halaman, dan Anda bisa menyesuaikannya dengan kebutuhan Anda (misalnya, menambahkan koma antar tag atau kategori, atau mengubah tata letak).

Penjelasan lebih lanjut

Setiap post type di WordPress memiliki file template khusus yang mengendalikan bagaimana kontennya ditampilkan di front end. Untuk post biasa, file template biasanya adalah single.php. Jika Anda membuat custom post type, WordPress mencari file template dengan nama single-{post-type}.php, di mana {post-type} adalah nama dari post type kustom Anda.

Jadi, dalam kasus Anda, WordPress akan mencari file single-buku.php untuk menampilkan konten dari custom post type “buku”. Jika tidak ada, maka WordPress akan menggunakan single.php sebagai gantinya.

Untuk menambahkan tautan tag dan kategori ke halaman post “buku”, Anda perlu menambahkan kode yang kami berikan sebelumnya ke dalam file template ini. Jika file single-buku.php tidak ada, Anda bisa membuatnya dengan cara mengcopy single.php atau index.php dan mengubah namanya menjadi single-buku.php.

Langkah-langkah dalam melakukan nya

  1. Cari file single.php atau index.php di folder theme Anda. Biasanya berada di wp-content/themes/{nama-theme}.
  2. Copy file tersebut dan tempelkan di folder yang sama.
  3. Ganti nama file yang baru dipaste menjadi single-buku.php.
  4. Buka single-buku.php dan tambahkan kode yang kami berikan sebelumnya di tempat yang Anda inginkan. Biasanya ditempatkan setelah the_content() atau sebelum comments_template(), tergantung di mana Anda ingin menampilkan tautan tag dan kategori.
  5. Simpan perubahan dan cek halaman post “buku” Anda di front end. Anda seharusnya bisa melihat tautan tag dan kategori sekarang.

Harap diingat bahwa ini hanyalah petunjuk umum dan cara tepatnya mungkin sedikit berbeda tergantung pada theme yang Anda gunakan. Jika Anda masih memiliki masalah atau pertanyaan, jangan ragu untuk bertanya.

 

Pertanyaan Sering Diajukan

Archive tags tidak muncul

Jika Anda membuat post dan menambahkan tags dengan nama “Buku Tulis”, kemudian mempublikasikan nya, kemudian mengeklik tags tersebut, dan ternyata tidak muncul postingan yang dibuat sebelum nya (yang berisi tags “Buku Tulis”), mungkin Anda perlu melakukan flush (pembaharuan pada permalink) setelah membuat custom post type.

Ini dapat dilakukan dengan pergi ke Settings > Permalinks di dashboard WordPress Anda dan kemudian klik “Save Changes” tanpa mengubah apa pun.

 

Penutup dalam Membuat Custom Post tanpa Plugin

Itulah cara membuat Custom Post Types tanpa menggunakan plugin di WordPress. Meski demikian, selalu pastikan untuk membuat backup situs Anda sebelum melakukan perubahan pada file tema, dan jangan lupa untuk menguji semua perubahan di lingkungan pengembangan sebelum menerapkannya di situs live Anda. Selamat mencoba!

Leave a Reply