Это был долгий путь, но мы наконец добрались до последней части серии. Я надеюсь, что это было увлекательное и познавательное путешествие, и вы получили такое же удовольствие от сериала, как и я.
Что мы узнали
Первая часть была о введении условных тегов. В этой части мы узнали о том, что такое условные теги, насколько они важны для разработчиков тем и плагинов 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()
Использование аналогично любому другому шорткоду: поместите условный тег в квадратные скобки и передайте параметры условного тега в качестве параметров шорткода. Плагин также имеет «другие» шорткоды, которые вы можете использовать внутри перечисленных шорткодов.
Конец
Как я уже сказал, эта серия была для меня долгим, но веселым путешествием. И я надеялся, что тебе понравилось так же, как и мне.
Если у вас есть какие-либо вопросы, комментарии или комментарии, снимите их ниже в комментариях. И если вам понравился сериал, не забудьте поделиться им с друзьями!