Bagaimana cara menambahkan Taksonomi Kustom di permalink WordPress Custom Post Type (CPT)?
Diterbitkan: 2020-02-08Di Crunchify, kami telah menerbitkan sejumlah artikel tentang Jenis Posting Kustom WordPress. Salah satu tutorial yang sangat populer adalah tentang Cara Membuat WordPress Custom Post Type (CPT) dan Taksonomi.
Dalam tutorial ini kita akan membahas langkah-langkah tentang cara menambahkan taksonomi kustom di permalink jenis posting kustom?
Langkah 1. Apa yang kita coba?
Jika Anda memiliki taksonomi khusus yang disebut tourist
dan jenis pos khusus yang disebut attraction
.
Untuk atraksi, bagaimana jika saya ingin memiliki struktur permalink berikut: crunchify.com/<tourist_name>/<attraction_name>
Nah, Anda berada di tempat yang tepat.
Langkah 2.
Silakan gunakan kode Jenis Posting Kustom di bawah ini di functions.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
// ================================= Create Attraction Custom Post Type ================================= function crunchify_create_the_attaction_posttype ( ) { $ labels = array ( 'name' = > _x ( 'Attraction' , 'Post Type General Name' , 'CRUNCHIFY_TEXT_DOMAIN' ) , 'singular_name' = > _x ( 'Attraction' , 'Post Type Singular Name' , 'CRUNCHIFY_TEXT_DOMAIN' ) , 'menu_name' = > esc_html__ ( 'Attraction' , 'CRUNCHIFY_TEXT_DOMAIN' ) , 'parent_item_colon' = > esc_html__ ( 'Parent Attraction' , 'CRUNCHIFY_TEXT_DOMAIN' ) , 'all_items' = > esc_html__ ( 'All Attraction' , 'CRUNCHIFY_TEXT_DOMAIN' ) , 'view_item' = > esc_html__ ( 'View Attraction' , 'CRUNCHIFY_TEXT_DOMAIN' ) , 'add_new_item' = > esc_html__ ( 'Add New Attraction' , 'CRUNCHIFY_TEXT_DOMAIN' ) , 'add_new' = > esc_html__ ( 'Add New' , 'CRUNCHIFY_TEXT_DOMAIN' ) , 'edit_item' = > esc_html__ ( 'Edit Attraction' , 'CRUNCHIFY_TEXT_DOMAIN' ) , 'update_item' = > esc_html__ ( 'Update Attraction' , 'CRUNCHIFY_TEXT_DOMAIN' ) , 'search_items' = > esc_html__ ( 'Search Attraction' , 'CRUNCHIFY_TEXT_DOMAIN' ) , 'not_found' = > esc_html__ ( 'Not Found' , 'CRUNCHIFY_TEXT_DOMAIN' ) , 'not_found_in_trash' = > esc_html__ ( 'Not found in Trash' , 'CRUNCHIFY_TEXT_DOMAIN' ) , ) ; $ args = array ( 'label' = > esc_html__ ( 'attraction' , 'CRUNCHIFY_TEXT_DOMAIN' ) , 'description' = > esc_html__ ( 'Attraction' , 'CRUNCHIFY_TEXT_DOMAIN' ) , 'labels' = > $ labels , 'supports' = > array ( 'title' , 'editor' , 'thumbnail' ) , 'taxonomies' = > array ( 'genres' ) , 'hierarchical' = > false , 'public' = > true , 'show_ui' = > true , 'show_in_menu' = > true , 'show_in_nav_menus' = > true , 'show_in_admin_bar' = > true , 'menu_position' = > 100 , 'can_export' = > true , 'has_archive' = > __ ( 'attraction' ) , 'exclude_from_search' = > false , 'publicly_queryable' = > true , 'query_var' = > true , 'show_admin_column' = > true , 'capability_type' = > 'post' , 'rewrite' = > array ( 'slug' = > 'attraction/%tourist%' ) , ) ; register_post_type ( 'attraction' , $ args ) ; } add_action ( 'init' , 'crunchify_create_the_attaction_posttype' , 0 ) ; |

Langkah-3.
Silakan gunakan kode Taksonomi Kustom di bawah ini di functions.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// ================================= Custom Post Type Taxonomies ================================= function crunchify_create_the_attaction_taxonomy ( ) { register_taxonomy ( 'tourist' , // This is a name of the taxonomy. Make sure it's not a capital letter and no space in between 'attraction' , //post type name array ( 'hierarchical' = > true , 'label' = > 'Attractions' , //Display name 'query_var' = > true , 'has_archive' = > true , 'rewrite' = > array ( 'slug' = > 'attraction' ) ) ) ; } add_action ( 'init' , 'crunchify_create_the_attaction_taxonomy' ) ; |
Langkah-4.
Untuk Single Link Tipe Pos Atraksi, tambahkan Kategori Slug.
1 2 3 4 5 6 7 8 9 10 11 |
function crunchify_create_post_link ( $ post_link , $ id = 0 ) { $ post = get_post ( $ id ) ; if ( is_object ( $ post ) ) { $ terms = wp_get_object_terms ( $ post - > ID , 'tourist' ) ; if ( $ terms ) { return str_replace ( '%tourist%' , $ terms [ 0 ] - > slug , $ post_link ) ; } } return $ post_link ; } add_filter ( 'post_type_link' , 'crunchify_create_post_link' , 1 , 3 ) ; |
Anda akan mulai melihat menu panel kiri WordPress lainnya setelah itu.
Beri tahu saya jika Anda menghadapi masalah dengan kode ini. Selamat ngeblog.
Lihat artikel terperinci lainnya tentang Jenis Posting Kustom.
Cara Membuat Custom Post Type (CPT) dan Taksonomi WordPress – Tutorial, Tip dan Trik Hello World