J'ai une page appelée "Apple", l'ID de la page 2533.
Dans le fichier page.php, j'ai une ligne:
echo $bannerimg
Et cette fonction dans functions.php:
if ( is_page( '2533' ) ) {
// also tested with 'Apple'
$bannerimg = 'apple.jpg';
} elseif ( is_page( 'test' ) ) {
$bannerimg = 'test.jpg';
} elseif ( is_page( 'admissions' ) ) {
$bannerimg = 'admissions.jpg';
} else {
$bannerimg = 'home.jpg';
}
Le point est le $ bannerimg fait écho "home.jpg" sur chaque page, y compris Apple, test et admissions.
J'ai même vérifié tous les identifiants à l'aide de the_ID & $ page-> ID. Rien. Donc je suppose qu'il y a quelque chose qui ne va pas avec le code ci-dessus?
functions
pages
conditional-content
Wordpressor
la source
la source
Réponses:
functions.php
est traité bien avant de savoir quelle page est en cours de chargement. Au lieu d'attribuer une valeur à une variable, mettez votre code en fonction et utilisez cette fonction dans lepage.php
modèle.la source
is_page(); // When any single Page is being displayed. is_page(42); // When Page 42 (ID) is being displayed. is_page('Contact'); // When the Page with a post_title of "Contact" is being displayed. is_page('about-me'); // When the Page with a post_name (slug) of "about-me" is being displayed. is_page(array(42,'about-me','Contact')); // Returns true when the Pages displayed is either post ID 42.
probablement pas le cas mais ça vaut le coupget_header
devrait fonctionner si vous voulez le laisserfunctions.php
la source
En étendant ce que @Rarst a publié et que vous avez commenté, une solution plus élégante serait de créer votre propre filtre à l'intérieur de page.php et de le raccorder à partir d'une fonction à l'intérieur de functions.php, par exemple:
en vous page.php
et dans vos fonctions.php
la source
Ajoutez ceci à votre functions.php, changez le nom du script someCode et le nom de la page:
la source
Vous devez appeler votre fonction à un moment du processus WordPress après la configuration de la requête .
Dans
functions.php
:Ensuite, dans votre
page.php
fichier modèle, partout où vous devez retourner / sortir$bannerimg
:Ensuite, vous pouvez faire tout ce dont vous avez besoin
$bannerimg
: déposez-le dans une<img>
balise, etc.la source
Avez-vous correctement déclaré
wp_head();
etc dans votre thème?De plus,
is_page
accepte une carte d' identité sans les guillemets.Le problème peut également être le fait que vous êtes déjà sur le modèle de page, donc c'est une page, il vaut peut-être mieux interroger le
$post->ID
ou configurerpage-apple.php
la source
is_page()
peut également accepter l'ID comme entier