Posted on

Merubah Struktur Permalink Custom Post WordPress

wpJakarta – Merubah Struktur Permalink/Slug Custom Post WordPress. Salah satu website rekan kami menggunakan tema website WordPress dengan niche “education”. Di dalamnya terdapat fitur “custom post type” dimana dia dapat membuat post atau artikel diluar dari tipe post biasanya. Sayangnya permalink secara default yang “tercreate” seperti sudah di “hard coded” tanpa ada pilihan untuk merubah permalink tersebut.

wp jakarta tips-trik wordpresswp jakarta tips-trik wordpress

Misalnya saat membuat sebuah category “HTML” maka permalink nya adalah : domain.com/course-category/html/ sedangkan permalink untuk single post yang ditulis pada kategori tersebut adalah domain.com/courses/membuat-hello-world-menggunakan-html/. Semenjak website tersebut berbahasa indonesia, ini tidak diinginkan olehnya. Struktur permalink yang di inginkan adalah :

  • untuk kategori : domain.com/kategory-kursus/html/
  • untuk post : domain.com/kursus/membuat-hello-world-menggunakan-html/

Baca Juga :

Merubah struktur permalink custom post WordPress menggunakan Plugin

Paling mudah tentu saja menggunakan plugin, banyak plugin yang bisa merubah permalink custom post pada website WordPress. Salah satunya adalah Custom Post Type Permalinks. Tapi berhubung kami tidak menggunakan plugin maka kami tidak berbicara lebih lanjut bagaimana cara merubah struktur URL slug tersebut menggunakan plugin. Kami lebih memilih untuk menuliskan sedikit fungsi PHP ke dalam file function.php. Atau gunakan site spesifik plugin yang pernah kami bahas sebelumnya.

Merubah struktur permalink custom post WordPress melalui file function.php

Karena memang sangat dimungkinkan dan aman dengan menambahkan beberapa fungsi PHP kedalam file function.php. Jika anda memiliki website WordPress dengan masalah serupa, dan tidak ingin menggunakan plugin untuk mengatasinya. Maka anda bisa mengikuti langkah-langkah berikut.

Melalui admin dashboard anda silahkan menuju themes editor untuk mengedit file “function.php” jika anda mengunci themes editor untuk diedit, maka akses file function.php melalui file manager di cPanel. atau melalui FTP client (download, edit dan upload kembali). Pada file function.php tambahkan kode fungsi berikut :

Merubah struktur permalink untuk kategori / taxonomie

 /* Merubah struktur permalink kategori
  * dari /course-category menjadi /kategori-kursus */

 function update_courses_category( $taxonomy, $object_type, $args ){
     if( 'course-category' == $taxonomy ){ // --> slug kategori yang lama
         remove_action( current_action(), __FUNCTION__ );
         $args['rewrite'] = array( 'slug' => 'kategori-kursus' ); // --> slug kategori yang baru
         register_taxonomy( $taxonomy, $object_type, $args );
     }
 }
 add_action( 'registered_taxonomy', 'update_courses_category', 10, 3 );

Merubah struktur permalink untuk post type/single artikel

 /* Merubah struktur post artikel
  * dari /courses menjadi /kursus */

 function update_courses_slug( $args, $post_type ) {
     if ( 'courses' === $post_type ) {
         //$args['rewrite']['slug'] = 'kursus';
         $my_args = array(
             'rewrite' => array( 'slug' => 'kursus', 'with_front' => false )
         );
         return array_merge( $args, $my_args );
     }
     return $args;
 }
 add_filter( 'register_post_type_args', 'update_courses_slug', 10, 2 );

Apa itu “Custom Post Type” WordPress

Pada website WordPress memang dimungkinkan untuk membuat “custom post” jenis ini. Selain dari cara membuat post seperti biasanya, kita juga dapat membuat post tentang review produk, tutorial, portfolio dan sebagainya. Struktur kategorinya juga berbeda dengan struktur kategori pada pengaturan permalink default.