У першій частині цієї серії статей ми розглянули базову теорію з умовним тегам — що це таке, як їх використовувати і деякі сценарії, у яких умовні позначки можуть стати в нагоді.
У другій частині ми розглянемо перше 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» був підготовлений дружною командою проекту Сайтостроение від А до Я.