Um tipo de postagem personalizada pode ter uma página pai?

10

Eu vi muitos posts no Webiverse sobre como atribuir uma página como pai de um tipo de postagem personalizado. Depois de quatro horas, não consigo encontrar uma solução e preciso de ajuda. Criei uma página "Sobre" que é pai de uma página "Nossas pessoas". Eu também criei um tipo de post personalizado chamado "People". E criei um modelo de página personalizado para a página "Nossas pessoas". A estrutura Permalink parece bem até chegar à página "pessoas". Por exemplo: Página de John Smith, o permalink não está correto.

Tipo de postagem personalizada:

Estrutura Permalink desejada: / about-us / our-people / john-smith

Estrutura Realmente Permalink: / our-people / john-smith

Nossa estrutura de página de pessoas: / about-us / our-people

O "sobre-nós" é uma página, "nosso-povo" é uma página e também o slug reescreve para o tipo de postagem personalizado, "pessoas". Tentei alterar as configurações hierárquicas e tentei adicionar "about-us / our-people" diretamente à reescrita sem sucesso.

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

Meus modelos personalizados: people.php people-single.php

    
por Nick 15.01.2013 / 22:29

1 resposta

13

Isso deve funcionar:

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

combinado com:

'has_archive' => false,

Não deixe de visitar a página de configurações do Permalinks no seu administrador depois de fazer as alterações para liberar as regras de regravação.

    
por diggy 15.01.2013 / 22:52