J'essaie de vérifier si le modèle page.php est utilisé ou non. J'ai essayé is_page_template( 'page.php' )
mais ça ne marche pas.
Je ne peux pas non plus utiliser is_page()
parce que je ne veux faire quelque chose que lorsque page.php
est utilisé, et non lorsqu'un autre modèle de page personnalisé est utilisé.
S'il vous plaît laissez-moi savoir à ce sujet et merci!
Edit: Aurait dû mentionner plus tôt que j’ai un fichier appelé common-options.php
qui est inclus dans presque tous les modèles (comme index.php
, page.php
, single.php
et page_blog.php
), dans ce fichier, j’essaie de faire la vérification avec le code suivant:
if ( is_page_template( 'page.php' ) ) {
echo "success!";
}
Mais cela ne fonctionne pas lorsque j'ouvre une page utilisant le "Modèle par défaut".
En fait, j'ai rencontré le même problème moi-même et ma solution était ce code:
if(basename(get_page_template()) === 'page.php'){
}
basename(get_page_template())
obtient le nom du fichier de modèle de page (selon https://codex.wordpress.org/Function_Reference/get_page_template ) et je vérifie ensuite si ce dernier est égal à 'page.php'
Vous avez deux fonctions utiles: is_page()
et is_page_template()
.
La fonction is_page()
renverra true
lorsque vous serez sur une page et la fonction is_page_template()
renverra false
si la publication actuelle (pouvant être une page) n'utilise pas de modèle personnalisé.
Donc, il vous suffit d’utiliser les deux fonctions ensemble:
if ( is_page() && !is_page_template() ) {
// your code
}
Vieille question, mais intéressante.
En général, il est rare de rechercher template dans WordPress. Le modèle est result de la requête principale en cours d'exécution et de configuration du contexte de la requête.
Si nécessaire, je mettrais probablement en quelque sorte un drapeau au début de page.php
, comme déclarer une constante pour cela, pour avoir mon propre contexte pour cela.
Globalement, cela me fait penser que toute logique nécessitant un tel déplacement doit être considérée comme ajustée en fonction de mécanismes et de conditions plus courants.
En fait c'est très simple. Il suffit d'utiliser:
is_page_template ()
S'il renvoie true, page.php n'est pas utilisé et inversement :)
$bulkitnt_custom_page_control = is_page_template( 'custom-page.php' );
if( $bulkitnt_custom_page_control != true ){
do_action('bulkitnt_header_action');
}