J'essaie de configurer une instruction if pour afficher un certain code, si l'utilisateur est sur une certaine page. J'ai les liens et les pages de travail des étudiants à travailler, mais lorsque j'ajoute le lien si ce n'est pas le lien et pas le travail des étudiants, je reçois une erreur inattendue T_BOOLEAN_AND. Comment puis-je résoudre ce problème afin de pouvoir répertorier les pages pour lesquelles je ne souhaite pas de code personnalisé et utiliser uniquement page.php
<?php
if (!is_page('links')) && (!is_page('student-work')) {
include(TEMPLATEPATH . '/pages/page.php');
} elseif (is_page('links')) {
query_posts('cat=2');
include(TEMPLATEPATH . '/pages/links.php');
} elseif (is_page('student-work')) {
query_posts('cat=4');
include(TEMPLATEPATH . '/pages/student-work.php');
}
?>
Je viens d'utiliser ce code et cela fonctionne pour moi. Espérons que cela résoudra votre problème.
if( ! is_page( array( 'links', 'student-work' ) ) ) { /* ... */ }
Il s’agit en réalité de PHP, pas de WP, mais de votre instruction if initiale avec une parenthèse supplémentaire après !is_page('links')
. Le &&
est donc extérieur et PHP ne sait pas quoi en faire. Il serait préférable de réorganiser le bloc de toute façon, par exemple.
<?php
if (is_page('links')) {
query_posts('cat=2');
include(TEMPLATEPATH . '/pages/links.php');
} elseif (is_page('student-work')) {
query_posts('cat=4');
include(TEMPLATEPATH . '/pages/student-work.php');
}
else {
include(TEMPLATEPATH . '/pages/page.php');
}
?>
Pour ce qui est de WordPress, il serait probablement préférable d’utiliser des fichiers modèles spécifiques à une page, tels que page-links.php or page-student-work.php
. Vous pouvez également utiliser get_template_part()
au lieu de includes pour accomplir ce que si/else bloque en une seule ligne si vous devez conserver tout cela dans un fichier pour une raison quelconque.