У меня есть страница под названием «Apple», идентификатор страницы 2533.
В файле page.php у меня есть строка:
echo $bannerimg
И эта функция в 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';
}
Дело в том, что $ bannerimg повторяет «home.jpg» на каждой странице, включая Apple, тесты и допуски.
Я даже проверил все идентификаторы, используя the_ID & $ page-> ID. Ничего. Итак, я думаю, что-то не так с кодом выше?
functions
pages
conditional-content
Wordpressor
источник
источник
Ответы:
functions.php
обрабатывается, прежде чем вы сможете узнать, какая страница загружается. Вместо присвоения значения переменной поместите свой код в функцию и используйте эту функцию вpage.php
шаблоне.источник
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.
вероятно, не тот случай, но стоитget_header
должно работать, если вы хотите оставить его вfunctions.php
источник
Расширяя то, что написал @Rarst, и вы прокомментировали, более элегантным решением было бы создать свой собственный фильтр внутри page.php и подключить его к функции из функции functions.php, например:
в вашем page.php
и в твоих functions.php
источник
Добавьте это в ваш functions.php, измените имя скрипта someCode и имя страницы:
источник
Вам нужно вызывать свою функцию в точке процесса WordPress после настройки Query .
В
functions.php
:Затем в вашем
page.php
файле шаблона, куда вам нужно вернуть / вывести$bannerimg
:Затем вы можете делать все, что вам нужно
$bannerimg
: добавить его в<img>
тег и т. Д.источник
Вы правильно заявили и
wp_head();
т.д. в своей теме?Также
is_page
принимает идентификатор без кавычек.Проблема также может заключаться в том, что вы уже находитесь на шаблоне страницы, так что это страница, вам может быть лучше запросить
$post->ID
или настроитьpage-apple.php
источник
is_page()
также может принимать ID как целое число