web-dev-qa-db-fra.com

Un type d'article personnalisé peut-il avoir une page parent?

Dans Webivers, j'ai vu beaucoup d'articles sur l'attribution d'une page en tant que parent d'un type d'article personnalisé. Au bout de quatre heures, je ne trouve pas de solution et j'ai besoin d'aide. J'ai créé une page "À propos de" qui est le parent d'une page "Nos collaborateurs". J'ai également créé un type de message personnalisé appelé "Personnes". Et j'ai créé un modèle de page personnalisé pour la page "Nos collaborateurs". La structure Permalink a l'air bien jusqu'à ce que vous obteniez la page "Personnes". Par exemple: la page de John Smith, le lien permanent n'est pas correct.

Type de message personnalisé:

Structure souhaitée: / à propos de nous/notre-peuple/john-smith

Structure permanente: / notre-peuple/john-smith

Notre page de personnel Strucure: / à propos de nous/notre-peuple

Le "sur nous" est une page, "nos-gens" est une page et également la réécriture du slug pour le type de message personnalisé, "personnes". J'ai essayé de changer les paramètres hiérarchiques et j'ai essayé d'ajouter "about-us/our-people" directement dans la réécriture, sans succès.

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);
}

Mes modèles personnalisés: people.php people-single.php

13
Nick

Cela devrait fonctionner:

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

combiné avec:

'has_archive' => false,

Assurez-vous de visiter la page des paramètres de permaliens dans votre administrateur après avoir apporté les modifications nécessaires pour vider les règles de réécriture.

14
diggy