Шлях був не близький, але ми підійшли до останньої статті з цієї серії. Сподіваюся, подорож було корисним, і вам сподобалися всі уроки без винятку.

Що ми вивчили

У першій частині ми познайомилися з самим поняттям «Умовні позначки«, і дізналися наскільки вони важливі при розробці тем і плагінів для 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_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();
  • Перевірка, чи встановлено CMS: 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();
  • Перевіряємо, чи використовує WordPress мультисайтовую інсталяцію: is_multisite();
  • Перевіряємо, чи виводиться на сторінці архіву довільний тип запису: is_post_type_archive().

У п’ятій частині ми вивчили такі умовні позначки:

  • Перевіряємо, чи є даний блог «Головним сайтом» в мережі: is_main_site();
  • Перевіряємо, додано меню в зазначену область теми: has_nav_menu();
  • Перевіряємо, чи певний плагін в режимі роботи «мультисайт»: is_plugin_active_for_network();
  • Перевіряємо, чи дозволені коментарі: comments_open();
  • Перевіряємо, чи містить бічна панель віджети: is_dynamic_sidebar();
  • Перевіряємо, чи є в блозі більше ніж один автор: is_multi_author();
  • Перевіряємо, чи працює на сервері з WordPress сервіс ping: pings_open();
  • Перевіряємо, чи відображається RSS стрічка: 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();
  • Перевірка, чи є задане ім’я користувача в системі ресурсу:username_exists();
  • Перевірка, чи відображається в даний момент сторінка попереднього перегляду запису»: is_preview();
  • Перевірка стану заданого сценарію: wp_script_is();
  • Перевірка стану заданого стилю: wp_style_is();
  • Перевірка, чи є таксономія ієрархічної: is_taxonomy_hierarchical().

Невеликий бонус: три плагіна, які використовують умовні позначки

Зараз ми розглянемо три плагіна, які використовують у своїй роботі умовні позначки WordPress. Дані плагіни можуть бути корисні, якщо їх правильно використовувати!

Widget Logic

Плагін Widget Logic скачаний близько мільйон разів, має рейтинг 4.3. Схоже, що це самий популярний плагін, який використовує умовні позначки. Він «віртуально» рятує від створення окремих сайдбаров для кожного випадку.

Логіка роботи плагіна проста: він розміщує маленьке поле для вводу над кожним віджетом на сторінці «Widgets» в панелі адміністрування, щоб ми могли просто вписати туди умовні позначки. Будьте обережні: цей плагін використовує функцію EVAL. Це означає, що будь-хто, хто має доступ в Widget Logic зможе вписати в поле для введення будь — PHP-код. Будьте обережні.

Script Logic

Керівництво по умовним тегам: фінальна частина

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

Conditional Shortcodes

Згадайте приклад, який я наводив умовного тега is_feed(). Цей плагін розширює можливості тега 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().

Використовується, як і будь-який інший шорткод: помістіть умовний тег в квадратні дужки і передайте параметри тега в якості параметрів шорткода. Плагін також дозволяє використовувати межах перерахованих тегів конструкцію «else«.

У висновку

Як я вже згадав, ця серія була дуже довгою, але не менш пізнавальною. Якщо у вас є які — небудь питання, пропозиції або коментарі, залишайте їх у полі для коментарів. І не забудьте поділитися статтями цієї серії з друзями! Удачі!

Переклад статті «A Walkthrough on Conditional Tags in WordPress: Series Finale» був підготовлений дружною командою проекту Сайтостроение від А до Я.