¿Puede un tipo de publicación personalizada tener una página principal?

10

He visto muchas publicaciones en Webiverse sobre la asignación de una página como elemento principal de un tipo de publicación personalizada. Después de cuatro horas no puedo encontrar una solución y necesito ayuda. He creado una página "Acerca de" que es el padre de una página "Nuestra gente". También he creado un tipo de mensaje personalizado llamado "Personas". Y he creado una plantilla de página personalizada para la página "Nuestra gente". La estructura de Permalink se ve bien hasta que llegas a la página de "personas". Por ejemplo: la página de John Smith, el enlace permanente no es correcto.

Tipo de publicación personalizada:

Estructura de enlace permanente deseada: / acerca de nosotros / nuestra-gente / john-smith

Estructura de enlace permanente: / nuestra-gente / john-smith

Estructura de nuestra página de personas: / acerca de nosotros / nuestra gente

"about-us" es una página, "our-people" es una página y también el slug reescrito para el tipo de publicación personalizada, "people". He intentado cambiar la configuración jerárquica y he intentado agregar "about-us / our-people" directamente en la reescritura sin éxito.

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

Mis plantillas personalizadas: personas.php people-single.php

    
pregunta Nick 15.01.2013 - 22:29

1 respuesta

13

Esto debería funcionar:

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

combinado con:

'has_archive' => false,

Asegúrese de visitar la página de configuración de Permalinks en su administrador después de realizar los cambios para eliminar las reglas de reescritura.

    
respondido por el diggy 15.01.2013 - 22:52

Lea otras preguntas en las etiquetas