Criando um modelo usando um nome slug específico, para uma página com uma página pai

4

Eu sempre preferi criar modelos de layout para páginas específicas criando um nome de arquivo igual ao slug.

Então, por exemplo:

Título da página : entre em contato conosco

Page Slug : entre em contato conosco

Nome do arquivo do modelo a ser usado : page-contact-us.php

Isso sempre funciona bem para mim.

No entanto, tenho uma página que tem uma página pai . A página, com o slug executive-search , tem um pai de empregadores

Por algum motivo, o arquivo page-executive-search.php não é selecionado como o modelo padrão desta página. Isso funcionou bem em todo o site, exceto nesta página. Verifiquei novamente o slug da página e ele é executive-search , mas o modelo page-executive-search.php não está sendo usado.

Não desejo declarar isso como um modelo global a ser selecionado na lista suspensa da página de edição. Eu não quero fazer isso através desse menu. Desejo que seja aplicado automaticamente a uma página com o slug executive-search

Estou pensando que isso tem a ver com ter uma página principal. O URL completo é:

http://mysite.co.uk/employers/executive-search

Então, onde estou indo errado?

    
por user1486133 07.09.2015 / 12:55

1 resposta

1

O código usado para tomar essa decisão pelo WordPress é get_page_template() . A versão de nome de página ( page-{slug}.php ) é extraída de get_query_var( 'pagename' ) , você pode usar isso em seu page.php template para ver o que é gerado ao visitar a página filha.

<?php echo get_query_var( 'pagename' ); ?>

Isso significa apenas que o slug pai é ignorado, então /employers/executive-search/ e /executive-search/ e /random/executive-search usarão o mesmo modelo de página de page-executive-search.php , se disponível.

Ou você pode usar apenas o ID da página page-NN.php

    
por totels 07.09.2015 / 17:22