Задать вопрос
@Warlynn

Как осуществить вывод виджетов в wordpress на разных страницах по условию?

Добавляю в тему вордпресс код в functions.php, где хочу задать условия для вывода стандартных виджетов на разных страницах (т.е. если виджет с именем 'nav_menu', то он выводится на страницах ярлыками 'nashi-sertificaty' и 'products'), ориентируясь на принцип работы плагина widget_logic (планирую обойтись без самого плагина)

добавляю такой код:

function wph_hide_widgets($instance, $widget, $args) {
    if ($widget->id_base == 'nav_menu') { 
        if (!is_page(array('nashi-sertificaty','products'))) {return false;}
    }
}
add_action('widget_display_callback', 'wph_hide_widgets', 10, 3);


и...ничего не происходит, вернее происходит - со всех страниц исчезает виджет nav_menu и на указанных в коде страницах его тоже нет, в чем я допускаю ошибку?
  • Вопрос задан
  • 182 просмотра
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 2
anton_reut
@anton_reut
Начинающий веб-разработчик
Добавить условие if($_server[request_uri])
Ну это если совсем "в лоб" решение
Ответ написан
Комментировать
@Warlynn Автор вопроса
Не дописал вывод самого виджета, добавил "return $instance;", теперь работает:

function wph_hide_widgets($instance, $widget, $args) {
	if ($widget->id_base == 'nav_menu') { 
		if (!is_page(array('products','nashi-sertificaty'))) {return false;}
    }
	return $instance;
}
add_action('widget_display_callback', 'wph_hide_widgets', 10, 3);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы