Если записи с таким ID, то... а если нет, то... Вордпрес, как?
Доброго дня!
Подскажите пожалуйста, как в вордпресс записях сделать такой фильтр:
если записи с такими ID, то покажи этот рекламный блок, если не - то другой.
Простым словом:
В некоторых записях, место блока адсенса показать другую рекламу...
Conditional Tags
Например, в single.php, там где вы показываете рекламу:
<?php
$page_ids = array( 11, 34, 76, 237 ); // ID постов
if( is_single( $page_ids ) ) {
// тут показываем рекламу которая нужна на страницах этих постов
} else {
// тут показываем рекламу для всех остальных постов
}
Спасибо за помощь! А подскажите, я просто втавляю этот код в виджет (с помощью плагина который позволяет php код в виджеты добавлять), и он не работает...
Руслан Макаров: [facepalm]
1. Всегда указывайте в вопросе где и для чего вам нужен код. В данном случае не принципиально, но может быть важно. Вставить код в шаблон - это одно, в виджет - другое. Вы, например, знаете когда этот ваш виджет выполняет записанный в него код? До или после того, как main query будет выполнен и все глобальные переменные установлены?
2. Указывайте свой уровень "знаний" php. В данном случае, я понятия не имею, в каком формате нужно вставлять код в этот ваш виджет. Возможно, нужно добавить закрывающий пхп-тег ?>, чтобы код был обернут в полноценные теги <?php ... ?>. Возможно, наоборот, украть открывающий тег <?php, чтобы был только код, а остальное виджет добавит.
Игорь Воротнёв: извините..
1 -знаний php почти нулевые
2 - про первый ваш вопрос - не знаю...
3 - я додумался закрыть php :)
4 - нет виджет просто дает возможность вставлять php, так как вордпрес дает возможность вставлять только html
Игорь Воротнёв: та нет... я знал, что не выйдет, но чтоб убедиться попробовал - выводит на сайт просто текстом...
Возможно пригодится: название плагина - PHP Code Widget
Руслан Макаров: А на какой странице виджет стоит? Скорее всего не отрабатывается условие. is_single() работает только на странице поста. На главной, архивах и тд эта функция не будет работать. Впрочем, тогда должно срабатывать условие else.
Игорь Воротнёв: смотрите, он есть на каждой странице сайта в левом сайтбаре, над блоком "Интересное для Вас".
Ды код только тот который вы дали:
<?php
$page_ids = array( 11, 34, 76, 237 ); // ID постов
if( is_single( $page_ids ) ) {
// тут показываем рекламу которая нужна на страницах этих постов
} else {
// тут показываем рекламу для всех остальных постов
}
?>
Руслан Макаров: полистал доки плагина, по ходу conditional tags в виджете не будут просто так работать, ибо у них область видимости другая. Надо глобальные переменные забирать. Попробую сегодня локально поставить этот плаг и потестить.