Un custom post type può avere una Pagina Genitore?
Ho visto molti post nel Web riguardo l'assegnazione di una pagina come genitore di un custom post type. Dopo quattro ore non riesco a trovare una soluzione e ho bisogno di aiuto. Ho creato una pagina "About" che è il genitore di una pagina "Our People". Ho anche creato un custom post type chiamato "People" e ho creato un template personalizzato per la pagina "Our People". La struttura dei permalink sembra corretta fino a quando non si arriva alla pagina singola "people". Per esempio: per la pagina di John Smith, il permalink non è corretto.
Custom post type:
Struttura Permalink Desiderata: /about-us/our-people/john-smith
Struttura Permalink Attuale: /our-people/john-smith
Struttura Pagina Our People: /about-us/our-people
Il "about-us" è una pagina, "our-people" è una pagina e anche lo slug di riscrittura per il custom post type "people". Ho provato a cambiare le impostazioni gerarchiche e ho provato ad aggiungere "about-us/our-people" direttamente nel rewrite senza successo.
Functions.php:
function codex_custom_init() {
// Il Nostro Team
$people_label = array(
'name' => 'Team',
'singular_name' => 'Team',
'add_new' => 'Aggiungi Membro',
'add_new_item' => 'Aggiungi Nuovo Membro',
'edit_item' => 'Modifica Membro',
'new_item' => 'Nuovo Membro',
'all_items' => 'Tutti i Membri',
'view_item' => 'Visualizza Membro',
'search_items' => 'Cerca Membri',
'not_found' => 'Nessun Membro trovato',
'not_found_in_trash' => 'Nessun Membro trovato nel Cestino',
'parent_item_colon' => '',
'menu_name' => 'Team',
);
$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);
}
I Miei Template Personalizzati: people.php people-single.php
Dovrebbe funzionare:
'rewrite' => array( 'slug' => 'about-us/our-people'),
combinato con:
'has_archive' => false,
Assicurati di visitare la pagina delle impostazioni dei Permalink nell'amministrazione dopo aver apportato le modifiche per ripulire le regole di riscrittura.

Wow, non capisco perché stavo avendo così tante difficoltà con questo. Grazie.

Sarebbe bello vedere qualche spiegazione sul perché questo dovrebbe funzionare.

Per chi sta cercando semplicemente di assegnare una pagina genitore al proprio CPT, senza disabilitare gli archivi, vale la pena notare che 'has_archive' può anche accettare una stringa come slug per l'archivio.

È anche importante notare che questo non inserirà 'about-us' nei Breadcrumb generati da plugin come Yoast.
