Ich habe eine Seite namens "Apple", die ID-ID 2533 der Seite.
In der Datei page.php habe ich folgende Zeile:
echo $bannerimg
Und diese Funktion in 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';
}
Der Punkt ist, dass das $ bannerimg "home.jpg" auf jeder Seite wiedergibt, einschließlich Apple, Test und Zulassungen.
Ich habe sogar alle IDs mit der_ID & $ page-> ID überprüft. Nichts. Also denke ich, dass etwas mit dem obigen Code nicht stimmt?
functions
pages
conditional-content
Wordpressor
quelle
quelle
Antworten:
functions.php
wird verarbeitet, bevor Sie wissen, welche Seite geladen wird. Anstatt der Variablen einen Wert zuzuweisen, setzen Sie Ihren Code in die Funktion und verwenden Sie diese Funktion in derpage.php
Vorlage.quelle
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.
wahrscheinlich nicht der Fall, aber einenget_header
sollte funktionieren, wenn Sie es in lassen möchtenfunctions.php
quelle
Wenn Sie das, was @Rarst gepostet und Sie kommentiert haben, erweitern, besteht eine elegantere Lösung darin, einen eigenen Filter in page.php zu erstellen und ihn von einer Funktion in der functions.php aus zu verknüpfen, zum Beispiel:
in dir page.php
und in Ihrer functions.php
quelle
Fügen Sie dies Ihrer functions.php hinzu, ändern Sie den Namen des Skripts someCode und den Namen der Seite:
quelle
Sie müssen Ihre Funktion an einem Punkt im WordPress-Prozess aufrufen, nachdem die Abfrage eingerichtet wurde .
In
functions.php
:Dann in Ihrer
page.php
Vorlagendatei, wo immer Sie zurückgeben / ausgeben müssen$bannerimg
:Dann können Sie alles tun, was Sie brauchen
$bannerimg
: Legen Sie es in einem<img>
Tag ab usw.quelle
Haben Sie
wp_head();
etc in Ihrem Thema richtig deklariert ?Auch
is_page
akzeptiert eine ID ohne Anführungszeichen.Das Problem kann auch die Tatsache sein, dass Sie sich bereits in der Seitenvorlage befinden, sodass es sich um eine Seite handelt. Möglicherweise sollten Sie die Seite besser abfragen
$post->ID
oder einrichtenpage-apple.php
quelle
is_page()
kann ID auch als Ganzzahl akzeptieren