Widget Logic — бесплатный плагин для настройки динамического отображения виджетов

Widget Logic — простой и бесплатный плагин для настройки отображения виджетов, но он требует знаний условных тегов WordPress (Conditional Tags).

Используя эти теги вы можете задать логику отображения виджета для любой страницы, категории, записи, архива или произвольного типа записей. Вы также можете создавать группу условных тегов для отображения отдельного виджета.

Установка плагина Widget Logic

Страница плагина на сайте wordpress.org

Widget Logic - бесплатный плагин для настройки динамического отображения виджетов
Установка плагина Widget Logic

После установки плагина Widget Logic, в каждом виджете появится дополнительное поле для ввода условных тегов. Условные теги — это логические условия, которыми определяется отображение виджетов.

Widget Logic - бесплатный плагин для настройки динамического отображения виджетов
Указываем условный тег для виджета Поиск

Для виджета, для которого хотим указать логику отображения указываем условные теги, например, отображать этот виджет только на главной странице сайта: is_home()


Список условных тегов

При копировании конструкций условных тегов на свой сайт — исправляйте кавычку.

Главная страница

is_home() — выводить виджет только на главной странице
!is_home() — вывести виджет всюду, кроме главной страницы

Записи

is_single() — только в записях
is_single(‘345’) — только в записи c ID 345
is_single(‘auto’) — в записи с названием ‘auto’

is_single(‘Полезные плагины ‘) — только в записи с названием «Полезные плагины»

is_single(array( 17, 21, 24, 32)) — указываем массив записей, только в записях с ID 17, 21, 24 и 32

is_single (array(17, ‘Полезные плагины’, ‘auto’)) — только в записи ID которой 17, заголовок которой «Полезные плагины» и названием ‘auto’

is_single() && in_category(‘baked-goods’) — отображать виджет только в отдельных записях, которые относятся к категории с ярлыком baked-goods. Но, записи не будут отображаться на странице этой категории.

Категории записей

is_category() — выводить виджет только в категориях записей

is_category(‘5’) – выводить виджет только в категории с ID которой 5;

is_category() && in_array($cat, get_term_children( 5, ‘category’)) — отображать виджет в дочерней категории, которая относится к категории с ID 5

!in_category( array( 4,5,6 ) ) — не отображать виджет в категориях с ID 4, 5, 6

Пример:


Вывести виджет в определенной категории (архив категорий 166 и 189) и в отдельных записях этих категорий:

is_category (array(166, 189)) || is_single () && in_category (array(166, 189))

Архивы записей

is_search () — отображать только на странице поиска

is_archive () — отображать только на страницах архива записей

is_date() — отображать виджет на странице архива по дате (сюда входит день, месяц, год)

is_year() — отображать виджет на странице архива за определенный год

is_month() — отображать виджет на странице архива за определенный месяц (ежемесячный архив)

is_day() — отображать виджет на странице архива за определенную дату (ежедневный архив)

Теги

is_tag( ‘mild’ ) — отображать виджет на архивной странице тега с ярлыком mild

has_tag( ‘mild’ ) — отображать виджет только на странице отдельной записи, для которой указан тег с ярлыком mild

Страницы

is_page() – выводить только на страницах

is_page(‘5’) – выводить только на странице, ID которой 5

is_page(‘Контакты’) – только на странице с названием «Контакты»

is_page( 2, 3, 4) — выводить виджет только на страницах, ID которых 2, 3 и 4

!is_page(‘about’) — отображать виджет везде на сайте, кроме страницы About

is_404() — показать виджет на странице Ошибка 404

is_page_template() — отображать виджет только на странице с определенным шаблоном

Пользователи

is_admin()- отображать виджет только администратору сайта

current_user_can(‘level_10’) — отображать виджет только администратору сайта

!is_user_logged_in() — отображать виджет только для гостей

is_author(‘4’) — отображать виджет только для автора с ID 4

Переходы из поиска

strpos($_SERVER['HTTP_REFERER'], "google.com")!=false

Виджеты будут отображаться только тем пользователям, которые попали на сайт из поиска Google.

Woocommerce

is_woocommerce() — выводить только на страницах магазина

!is_woocommerce() — не выводить на страницах магазина

!is_woocommerce() && !is_page(cart) — не выводить виджет на странице магазина и не выводить на странице корзины

Произвольные типы записей

is_post_type_archive(‘property’) — отображать виджет на архивной странице записей произвольного типа Недвижимость

is_post_type_archive(‘property-type’) — отображать виджет на архивной странице записей произвольного типа Недвижимость — Тип недвижимости (любой тип)

Примечание: это просто пример. Для каждого шаблона автор может использовать свои произвольные типы записей.

Пример:

is_front_page() && !is_page(contact) && !is_post_type_archive('property-contract') && !is_post_type_archive('property-type') && is_page()

Показать виджет на главной странице и на любой странице сайта, кроме страницы с ярлыком contact, а также запретить отображение виджета на архивной странице произвольного типа записи с ярлыком property-type (тип недвижимости).

Рейтинг 5/5 (1 голос)
 
Понравилась статья? Поделиться с друзьями:

Добавить комментарий

avatar