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

У другій частині ми розглянемо перше 13 умовних позначок, а в цілому в п’яти статтях (включаючи цю), я наведу повне керівництво по всім 65 умовним тегам, описаним у Кодексі WordPress. Не забудьте ознайомитися з першою статті цієї серії, якщо ви цього ще не зробили.

1. Перевірка, чи ми на «Індексного сторінці записів блогу «: is_home()

Цей умовний тег перевіряє, чи є відображена сторінка індексного сторінкою записів блогу. У минулі часи, коли WordPress був просто «блог-платформою«, на головній сторінці відображався список останніх записів у блозі. Але після того як WordPress виріс в повноцінну систему управління контентом, назва is_home() трохи застаріло.

Прийняті параметри

Цей умовний тег не приймає ніяких параметрів.

Приклад застосування is_home()

Припустимо, ви хочете розмістити привітання для своїх відвідувачів на головній сторінці сайту. Ось те, що вам потрібно зробити:

2. Перевірка, чи є поточна тема дочірньої: is_child_theme()

При розробці на WordPress може знадобитися перевірити, чи є використовувана тема дочірньої. У цьому випадку вам допоможе умовний тег is_child_theme(), він повертає значення TRUE або FALSE, в залежності від того, чи є використовувана тема дочірньої чи ні.

Прийняті параметри

Цей умовний тег не приймає ніяких параметрів.

3. Перевірка, чи належить запис даної категорії: in_category()

На своєму WordPress-сайті вам, можливо, знадобиться, щоб записи з різних категорій вели себе по-різному. Наприклад, ви можете додавати класи для певних записів або взагалі прибрати їх з загальних списків. Умовний тег in_category() дозволяє визначити, чи належить запис певної категорії або до декількох категорій.

Прийняті параметри

Цей умовний тег приймає два параметри:

  • $category (array, string, обов’язковий параметр): ID, назву категорії або масив цих елементів. (За замовчуванням: немає);
  • $post (object, int, необов’язковий параметр): запис (ID або об’єкт) для перевірки. За замовчуванням: поточний запис.

Приклад застосування in_category()

Припустимо, у вас є блог з великою кількістю категорій, одна з яких називається «Оголошення«, і ви хочете вибрати всі оголошення з загального списку записів. Для цього потрібно додати користувальницький клас.

Ось, що вам потрібно зробити:


‘. __( ‘Вибачте, записів, що задовольняють заданим критеріям не знайдено posts.’, ‘translation-domain’ ) . ‘

‘;
}
?>

4. Перевірка, чи «шаблон сторінки: is_page_template()

Шаблони сторінок — це засіб WordPress, яке дозволяє вибрати, як будуть відображатися деякі сторінки. За допомогою умовного тега is_page_template(), ви можете визначити, використовується певний шаблон сторінки (або будь-який шаблон сторінки).

Прийняті параметри

  • $template (string, необов’язковий): Ім’я шаблону з розширенням. Значення за замовчуванням немає.

5. Перевірка, чи є сторінка сторінкою архіву: is_archive()

На WordPress-сайті може бути багато різновидів архівів: архіви по даті, архіви категорій, тегів, архіви авторів, архіви користувальницьких таксономій… Але якщо ви хочете встановити, чи є сторінка сторінкою архіву, is_archive() допоможе вам у цьому: цей умовний тег перевіряє, відображається в даний момент сторінка архіву чи ні.

Прийняті параметри

Цей умовний тег не приймає ніяких параметрів.

Приклад застосування is_archive()

Припустимо, ви хочете вивести певний текст перед заголовками записів на сторінці архіву.

Ось що вам потрібно зробити:

6. Перевірка, чи є сторінка «Архівом по даті»: is_date()

Архіви по даті можуть розбиватися на архіви за рік, за місяць і за день, але якщо ви хочете, щоб перевірити, чи є сторінка сторінкою архіву за датою, ви можете використовувати умовний тег is_date().

Прийняті параметри

Цей умовний тег не приймає ніяких параметрів.

7. Перевірка, активний в даний момент заданий віджет: is_active_widget()

Вам може знадобитися визначити, віджет чи ні. Умовний тег is_active_widget() перевіряє, чи відображається в даний момент віджет.

Прийняті параметри

Цей умовний тег приймає чотири параметри:

  • $callback (string, необов’язковий): Зворотний виклик віджета для перевірки. За замовчуванням: FALSE;
  • $widget_id (int, необов’язковий): ID віджета. Значення за замовчуванням немає;
  • $id_base (string, необов’язковий): ID бази віджета, створеного через розширення WP_Widget. Значення за замовчуванням немає;
  • $skip_inactive (bool, необов’язковий): Не приймати до уваги неактивні віджети. (За замовчуванням: TRUE).

Приклад застосування is_active_widget()

Припустимо, що для реалізації віджета у вашій темі потрібно JQuery, і ви повинні поставити його в чергу завантаження в залежності від того, активований він чи ні.

Ось що вам потрібно зробити:

id_base, true ) ) {
wp_enqueue_script( ‘jquery’ );
}
?>

8. Перевірка, чи є сторінка єдиною записом в блозі: is_single()

Один з найпопулярніших умовних позначок is_single() допоможе дізнатися, чи є запис єдиною на сторінці. Він визначає будь-які типи записів, крім вкладень і сторінок. І якщо ви вкажете ID, заголовок або короткий ім’я запису (або масив цих елементів), то можете також визначити конкретну запис.

Прийняті параметри

Цей умовний тег приймає тільки один параметр:

  • $post (string, array, необов’язковий): ID, заголовок або короткий ім’я запису (або масив цих елементів). Значення за замовчуванням немає.

9. Перевірка існує заданий адреса електронної пошти у таблиці користувачів: email_exists()

Якщо вам потрібно перевірити адресу електронної пошти, щоб дізнатися є такий адресу в таблиці користувачів WordPress, ви можете використовувати умовний тег email_exists().

Він є одним з трьох тегів, не повертають логічні значення TRUE, а інше конкретне значення — в даному випадку ID користувача, зареєстрованого за вказаною адресою електронної пошти.

Прийняті параметри

Цей умовний тег приймає тільки один параметр:

  • $email (string, необов’язковий): E-mail адресу для перевірки.

Приклад застосування email_exists()

Припустимо, ви розробляєте плагін, який формує список адрес електронної пошти, грунтуючись на даних користувачів. Даний тег дозволяє додавати і видаляти користувачів декілька додаткових адрес електронної пошти. Але ви не хочете видаляти реєстраційні адреси користувачів.

Ось що вам потрібно зробити:

10. Перевірка, чи має даний тип записів ієрархічну структуру: is_post_type_hierarchical()

Як і для сторінок, в WordPress ви можете задавати ієрархію для нових користувацьких типів записів. І умовний тег is_post_type_hierarchical() дозволяє перевірити, чи має даний тип записів ієрархічну структуру чи ні.

Прийняті параметри

Цей умовний тег приймає тільки один параметр:

  • $post_type (string, обов’язковий): Назва типу записів. Значення за замовчуванням немає.

11. Перевірка, чи є запис «важливою»: is_sticky()

«Важливою записом» є запис, що відображаються вгорі списку, незалежно від того, коли вона була опублікована. Якщо ви хочете додати важливих записів окремий клас або виділити їх якось по-іншому, ви можете зробити так, що код буде визначати ці записи за допомогою умовного тега is_sticky().

Прийняті параметри

Цей умовний тег приймає тільки один параметр:

  • $post_id (string, необов’язковий): ID запису. Значення за замовчуванням немає.

Приклад застосування is_sticky()

Припустимо, ви створюєте тему і хочете показувати стрічку важливих записів.

Ось що вам потрібно зробити:

12. Перевірка, чи відображається в даний момент панель адміністрування: is_admin()

is_admin() дозволяє нам визначити, знаходимося ми в даний момент у розділі front-end або back-end, тому цей умовний тег є одним з найпопулярніших. Як припускає його назва, тег перевіряє, чи знаходимося ми в даний момент в панелі адміністрування WordPress.

Прийняті параметри

Цей умовний тег не приймає ніяких параметрів.

13. Перевірка, чи є сторінка сторінкою «архіву категорії»: is_category()

Якщо ви хочете знайти певні сторінки архівів категорій, ви можете використовувати умовний тег is_category(). Задавши категорію (або масив категорій) у якості параметра ви можете перевірити, відображаються в даний момент ці архіви категорій. Якщо ви не поставите цей параметр, тег буде повертати значення TRUE при відображенні сторінки архіву категорії.

Прийняті параметри

Цей умовний тег приймає тільки один параметр:

  • $category (string, array, необов’язковий): ID, назва, slug категорії або масив цих елементів. Значення за замовчуванням немає.

Приклад застосування is_category()

Припустимо, ви хочете підключати альтернативну бічну панель для виведення архіву категорії «Новини«.

Ось що вам потрібно зробити:

Висновок

У цій статті ми розглянули 13 з 65 умовних позначок, описаних у кодексі WordPress. У наступних частинах ми розглянемо решту 52. Якщо у вас виникли які-небудь питання або коментарі, напишіть нам. Якщо вам сподобалася ця стаття, не забудьте поділитися зі своїми друзями посиланням!

Продовження в наступній частині!

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