Os permalinkes hierárquicos personalizados do tipo de publicação não se comportam como esperado para páginas pai / filho

Quando você tem páginas com filhos, a estrutura permalink funciona de uma maneira como esta:

example.com/parent-page/child-page/

Tudo bem e bom. Tentando acessar este URL:

example.com/child-page/

não funciona, o que é bom e, como esperado, eu só quero o URL para minha página filho.

No entanto, configurei um tipo de publicação personalizado e configurei-o como hierárquico, de modo a comportar-se como páginas. Não funciona da mesma maneira:

example.com/custom-post-type/parent-page/child-page/

funciona como esperado, mas removendo a página principal do URL:

example.com/custom-post-type/child-page/

também exibe a página infantil. Deveria ter 404, pensaria.

Utilizei os seguintes args para register_post_type:

$args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array('slug'=>'custom-post-type','with_front'=>false), 'capability_type' => 'post', 'has_archive' => false, 'hierarchical' => true, 'menu_position' => null, 'supports' => array('title','editor','thumbnail','excerpt','revisions','page-attributes') ); 

É perfeitamente possível ter mal interpretado algumas das opções. Alguém pode me dizer se estou fazendo algo errado, ou se isso é um bug ou uma característica?

Estou usando o 3.2.1, sem plugins, apenas meu tema personalizado.

Obrigado,

Solutions Collecting From Web of "Os permalinkes hierárquicos personalizados do tipo de publicação não se comportam como esperado para páginas pai / filho"

Resolvi a resposta para este problema fazendo isso:

echo get_permalink( $page->ID );

Isso me deu os links corretos para as páginas.

 example.com/custom-post-type/parent-page-1/child-page/ example.com/custom-post-type/parent-page-2/child-page/ 

O acima não pode acontecer. Se você fosse dar 2 páginas o mesmo nome (independentemente de os pais serem diferentes), o WP alteraria o slug de um deles.

 example.com/custom-post-type/parent-page-1/child-page/ example.com/custom-post-type/parent-page-2/child-page-1/ 

Iniciando example.com/custom-post-type/child-page/ ou example.com/custom-post-type/child-page-1/ funcionaria como esperado, mas acredito que example.com/custom-post-type/parent-page-2/child-page/ redirecioná-lo para example.com/custom-post-type/parent-page-1/child-page/ (embora eu não seja 100% sobre isso).