Bisakah tipe posting kustom memiliki Halaman Induk?


16

Saya telah melihat banyak posting di Webiverse tentang menetapkan halaman sebagai induk dari jenis posting khusus. Setelah empat jam saya tidak dapat menemukan solusi dan butuh bantuan. Saya telah membuat halaman "Tentang" yang merupakan induk dari halaman "Orang-Orang Kami". Saya juga membuat jenis posting khusus yang disebut "Orang". Dan saya telah membuat templat halaman khusus untuk halaman "Our People". Struktur Permalink terlihat baik sampai Anda masuk ke halaman "orang" tunggal. Sebagai contoh: Halaman John Smith, permalink tidak benar.

Jenis pos khusus:

Struktur Permalink yang Diinginkan: / about-us / our-people / john-smith

Sebenarnya Permalink Structure: / our-people / john-smith

Struktur Halaman Orang Kita: / tentang-kita / orang-orang kita

"About-us" adalah sebuah halaman, "our-people" adalah sebuah halaman dan juga slug yang menulis ulang untuk tipe posting kustom, "people". Saya telah mencoba mengubah pengaturan hierarkis dan saya telah mencoba menambahkan "tentang-kita / orang-orang kami" secara langsung ke dalam penulisan ulang tanpa hasil.

Functions.php:

function codex_custom_init() {
    // Our People
    $people_label = array(
        'name' => 'People',
        'singular_name' => 'People',
        'add_new' => 'Add People',
        'add_new_item' => 'Add New People',
        'edit_item' => 'Edit People',
        'new_item' => 'New People',
        'all_items' => 'All People',
        'view_item' => 'View People',
        'search_items' => 'Search People',
        'not_found' => 'No People found',
        'not_found_in_trash' => 'No People found in Trash',
        'parent_item_colon' => '',
        'menu_name' => 'People',
    );
    $people_args = array (
        'labels' => $people_label,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'query_var' => true,
        'rewrite' => array( 'slug' => 'our-people'),
        'capability_type' => 'page',
        'has_archive' => true,
        'hierarchical' => true,
        'menu_position' => null,
        'menu_icon' => get_template_directory_uri() . '/images/icons/people.png',
        'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt','page-attributes'),
    );

    register_post_type('people', $people_args);
}

Template Kustom Saya: people.php people-single.php

Jawaban:


19

Ini seharusnya bekerja:

'rewrite' => array( 'slug' => 'about-us/our-people'),

dikombinasikan dengan:

'has_archive' => false,

Pastikan untuk mengunjungi halaman pengaturan Permalinks di admin Anda setelah Anda membuat perubahan untuk menyiram aturan penulisan ulang.


2
apa yang akan dilakukan
Nick

7
Akan bagus untuk melihat beberapa penjelasan mengapa ini bisa berhasil.
montrealis

3
Bagi siapa saja yang mencoba memberikan CPT mereka halaman induk, dan tidak menonaktifkan arsip, perlu dicatat bahwa 'has_archive' juga dapat diberikan string untuk siput arsip.
jwinn

3
Perlu juga dicatat bahwa ini tidak akan menyuntikkan 'tentang-kita' ke dalam remah roti dari plugin seperti Yoast.
Mir

2
@Mir ada solusi yang diketahui untuk masalah Yoast itu?
arvil
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.