web-dev-qa-db-fra.com

Création d'un modèle utilisant un nom de slug spécifique, pour une page avec une page parent

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?

4
user1486133

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 IDde la page page-NN.php

1
totels