Это был долгий путь, но мы наконец добрались до последней части серии. Я надеюсь, что это было увлекательное и познавательное путешествие, и вы получили такое же удовольствие от сериала, как и я.
Что мы узнали
Первая часть была о введении условных тегов. В этой части мы узнали о том, что такое условные теги, насколько они важны для разработчиков тем и плагинов WordPress и как использовать условные теги в разработке 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() - Проверка наличия адреса электронной почты в таблице 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() - Проверка, является ли текущая локаль RTL:
is_rtl() - Проверка, является ли страница страницей архивов пользовательской таксономии:
is_tax() - Проверка, является ли страница страницей вложения:
is_attachment() - Проверка, существует ли данный термин:
term_exists() - Проверка наличия в сообщении заданного термина:
has_term() - Проверка, является ли это
is_trackback():is_trackback() - Проверка, используется ли WordPress
is_multisite():is_multisite() - Проверка, является ли страница архивом
is_post_type_archive():is_post_type_archive()
В пятой части мы рассмотрели следующие:
- Проверка, является ли блог «основным сайтом» сети:
is_main_site() - Проверка, имеет ли место меню назначенное меню:
has_nav_menu() - Проверка, активен ли указанный плагин в
is_plugin_active_for_network():is_plugin_active_for_network() - Проверка, включены ли комментарии:
comments_open() - Проверка наличия на боковой панели каких-либо виджетов:
is_dynamic_sidebar() - Проверка наличия в блоге более одного автора:
is_multi_author() - Проверка, открыты ли ping:
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() - Проверка, отображается ли панель инструментов WordPress:
is_admin_bar_showing() - Проверка, является ли страница страницей ежедневных архивов:
is_day() - Проверка, используется ли данная боковая панель:
is_active_sidebar() - Проверка, существует ли данное имя пользователя в таблице Users:
username_exists() - Проверка, является ли это страницей «предварительного просмотра»:
is_preview() - Проверка состояния данного скрипта:
wp_script_is() - Проверка состояния данного стиля:
wp_style_is() - Проверка, является ли таксономия иерархической:
is_taxonomy_hierarchical()
Глава Tiny Bonus: три плагина, использующие условные теги
В этой «бонусной главе» мы рассмотрим три плагина, которые фокусируются на использовании условных тегов. Эти плагины могут быть очень и очень мощными, когда они вам нужны и если вы правильно их используете!
Widget Logic

Widget Logic , скачанный почти миллион раз и имеющий звездный рейтинг 4.3, безусловно, является самым популярным плагином, использующим условные теги. И неудивительно, что он настолько популярен, потому что он фактически не позволяет нам создавать отдельные боковые панели для отдельных случаев.
Логика этого плагина проста: он помещает небольшой ввод под каждым виджетом на странице виджетов вашей админ-панели, чтобы вы могли вводить условные теги, точно так же, как когда вы пишете в своих операторах if . Будьте осторожны: этот плагин использует функции EVAL , что означает, что любой, кто имеет доступ к входам Widget Logic, может писать любой код PHP. Любой. Имейте в виду.
Скриптовая логика

Подобно тому, как Widget Logic обрабатывает виджеты, Script Logic обрабатывает ваши файлы JavaScript — при условии, что вы ставите их в очередь с помощью функции wp_enqueue_script() . Он в основном берет все сценарии в очереди и позволяет вам добавить условные теги, чтобы обернуть сценарии и загрузить их условно. Этот скрипт также использует функции EVAL для работы, поэтому будьте осторожны.
Условные шорткоды
Помните пример, который мы рассмотрели для условного тега 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()
Использование аналогично любому другому шорткоду: поместите условный тег в квадратные скобки и передайте параметры условного тега в качестве параметров шорткода. Плагин также имеет «другие» шорткоды, которые вы можете использовать внутри перечисленных шорткодов.
Конец
Как я уже сказал, эта серия была для меня долгим, но веселым путешествием. И я надеялся, что тебе понравилось так же, как и мне.
Если у вас есть какие-либо вопросы, комментарии или комментарии, снимите их ниже в комментариях. И если вам понравился сериал, не забудьте поделиться им с друзьями!