Статьи

Пошаговое руководство по условным тегам в WordPress: финал серии

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

Первая часть была о введении условных тегов. В этой части мы узнали о том, что такое условные теги, насколько они важны для разработчиков тем и плагинов 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()

В этой «бонусной главе» мы рассмотрим три плагина, которые фокусируются на использовании условных тегов. Эти плагины могут быть очень и очень мощными, когда они вам нужны и если вы правильно их используете!

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()

Использование аналогично любому другому шорткоду: поместите условный тег в квадратные скобки и передайте параметры условного тега в качестве параметров шорткода. Плагин также имеет «другие» шорткоды, которые вы можете использовать внутри перечисленных шорткодов.

Как я уже сказал, эта серия была для меня долгим, но веселым путешествием. И я надеялся, что тебе понравилось так же, как и мне.

Если у вас есть какие-либо вопросы, комментарии или комментарии, снимите их ниже в комментариях. И если вам понравился сериал, не забудьте поделиться им с друзьями!