J'ai toujours préféré créer des modèles de disposition pour des pages spécifiques en créant un nom de fichier identique à celui du slug.
Donc par exemple:
Titre de la page : Contactez-nous
Page Slug : contactez-nous
Nom du fichier à utiliser : page-contact-us.php
Cela fonctionne toujours bien pour moi.
Cependant, j'ai une page qui a un parent page. La page, avec le slug executive-search a un parent de employeurs
Pour une raison quelconque, le fichier page-executive-search.php
n'est pas choisi comme modèle par défaut pour cette page. Cela a bien fonctionné sur l'ensemble du site, à l'exception de cette page. J'ai revérifié le slug de page et il s'agit de executive-search
mais le modèle page-executive-search.php
n'est pas utilisé.
Je ne souhaite pas déclarer cela comme un modèle global à sélectionner dans le menu déroulant de la page d'édition. Je ne souhaite pas le rendre sélectionnable via ce menu. Je souhaite qu'il s'applique automatiquement à une page avec le slug executive-search
Je pense que cela a quelque chose à voir avec le fait d'avoir une page parent. L'URL complète est:
http://mysite.co.uk/employers/executive-search
Alors, où est-ce que je vais mal?
Le code utilisé pour prendre cette décision par WordPress est get_page_template()
. La version du nom de la page (page-{slug}.php
) est extraite de get_query_var( 'pagename' )
, vous pouvez l’utiliser dans votre modèle page.php
pour voir ce qu’elle affiche lors de la visite de la page enfant.
<?php echo get_query_var( 'pagename' ); ?>
Cela signifie généralement que le slug parent est ignoré, donc /employers/executive-search/
et /executive-search/
et /random/executive-search
utiliseront tous le même modèle de page de page-executive-search.php
si disponible.
Ou vous pouvez simplement utiliser le ID
de la page page-NN.php