Условные теги в WordPress: Финал

29 Мая 2022г. в 04:33

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

В последующих пяти урока мы прошлись по 65 условным тегам: познакомились с их описанием, рассмотрели практические примеры. На момент написания статьи в документации было описано 66 функции, однако потом одна из них была объявлена устаревшей (is_plugin_page()), поэтому цифра снизилась до 65.

В результате, во второй части нами был рассмотрен следующий список условных тегов:

Является ли текущая страница главной": is_home()
Является ли текущая тема дочерней: is_child_theme()
Проверка принадлежности поста к определённой категории: in_category()
Проверка использования "Шаблонной страницы: is_page_template()
Является ли текущая страница архивом: is_archive()
Является ли страница архивом дат: is_date()
Проверка активности виджета: is_active_widget()
Является ли страница страницей одного поста: is_single()
Проверка существования email-а в таблице Users: email_exists()
Состоит ли тип поста в иерархии: is_post_type_hierarchical()
Проверка на то, что пост "прикреплен": is_sticky()
Проверка на открытую панель администрирования: is_admin()
Является ли страница "Архивом рубрики": is_category()
В третьей:

Проверка находимся ли мы на фронт-энде: is_front_page()
Есть ли у поста миниатюра: has_post_thumbnail()
Используется ли форма комментариев в отдельном окне": is_comments_popup()
Является ли текущая страница 404: is_404()
Используется ли таксономия: taxonomy_exists()
Является ли текущая страница - страницей результатов поиска: is_search()
Является ли текущая страница - страницей архива тегов: is_tag()
Проверка на наличие дополнительной выдержки: has_excerpt()
Проверка первичного запроса: is_main_query()
Проверка наличия тега у поста: has_tag()
Проверка файла установки блога: is_blog_installed()
Является ли текущий пользователь "супер администратором": is_super_admin()
Является ли текущая страница - отдельной “страницей”: is_page()
В четвёртой:

Является ли страница, страницей архива по месяцам: is_month()
Проверка фичи в теме: current_theme_supports()
Проверка активности плагина: is_plugin_active()
Является ли URL адресом вложения: is_local_attachment()
Является ли страница архивом по промежутку времени: is_time()
Проверка локали (справа-налево): is_rtl()
Является ли страница, страницей архива таксономии: is_tax()
Является ли страница, страницей вложений: is_attachment()
Проверка существования термина: term_exists()
Проверка наличия термина у поста: has_term()
Проверка комментария trackback: is_trackback()
Проверка активности опции Multisite: is_multisite()
Является ли страница архивом типов постов: is_post_type_archive()
В пятой:

Является ли блог основным в вашей WordPress сети: is_main_site()
Проверка активности собственного меню: has_nav_menu()
Проверка активности плагина в мультисайте: is_plugin_active_for_network()
Проверка активности комментариев: comments_open()
Проверка наличия виджетов в сайдбаре: is_dynamic_sidebar()
Проверка наличия нескольких авторов: is_multi_author()
Проверка активности пинга: pings_open()
Проверка вывода фида: is_feed()
Является ли страница годовым архивом: is_year()
Проверка аутентифицирован ли пользователь is_user_logged_in()
Является ли вложение изображением: wp_attachment_is_image()
Проверка существования типа поста: post_type_exists()
Проверка дня публикации поста: is_new_day()
В шестой:

Страница или пост: is_singular()
Работает ли функция в "Цикле": in_the_loop()
Проверка “не активности” плагина: is_plugin_inactive()
Является ли страница архивом авторов: is_author()
Является ли страница "листингом": is_paged()
Отображена ли панель инструментов: is_admin_bar_showing()
Является ли страница дневным архивом: is_day()
Используется ли сайдбар: is_active_sidebar()
Проверка наличия пользователя в таблице Users по его имени: username_exists()
Является ли страница анонсом поста: is_preview()
Проверка состояния скрипта: wp_script_is()
Проверка статуса стилей: wp_style_is()
Проверка факта иерархичности таксономии: is_taxonomy_hierarchical()
Бонус: три плагина для удобной работы с условными тегами
А теперь небольшой бонус: описание трёх плагинов, который помогут в работе с уловными тегами!

Widget Logic


Рейтинг 4.3 и миллион загрузок сделали плагин Widget Logic одним из самых популярных дополнений. И это абсолютно понятно, ведь с его помощью можно легко и просто создавать отдельные сайдбары при различных условиях.

Логика данного плагина проста: под каждым виджетом в панели управления вставляется небольшое поле ввода в которое можно ввести условный тег так, как будто вы вводили его в условие if. Будьте осторожны: Данный плагин использует функцию EVAL. Это значит, что любой PHP код вставленный в этот блок может быть выполнен. Любой. Будьте бдительны.

Script Logic


Script Logic предназначен для управления вашими JavaScript файлами — а именно вызовом их подключения с помощью функции wp_enqueue_script(). Данный плагин позволяет подгружать различные скрипты в зависимости от того или иного условия. В нутре плагина так же используется функция EVAL, так что будьте осторожны.

Conditional Shortcodes
Помните пример, который мы рассматривали во время изучения условного тега is_feed()? Данный плагин расширяет его до использования 19 функций. Список условных тегов, поддерживаемых плагином:

comments_open()
is_archive()
is_author()
is_category()
is_day()
is_feed()
is_front_page()
is_home()
is_month()
is_page()
is_page()
is_search()
is_single()
is_singular()
is_sticky()
is_tag()
is_tax()
is_time()
is_year()
Использование сводится к работе с шорткодом: поместите условный тег в квадратные скобки и укажите параметры.

Конец
Данная серия уроков была не проста, но очень познавательна. Надеюсь эти знания вам пригодятся.