У цій серії статей ми знайомимося з однією з чудових особливостей WordPress: умовними позначками. У цій частині ми розглянемо нові умовні позначки. Також рекомендую ознайомитися з попередніми частинами даної серії.
14. Перевіряємо, чи є відкрита сторінка головній: is_front_page()
В WordPress, головною сторінкою («front page«) може бути як статична сторінка WordPress, так і динамічний список останніх записів блогу (Налаштування > Читання) (Settings > Reading). Умовний тег is_front_page() повертає значення TRUE, коли відображена головна сторінка.
Допустимі параметри
Цей тег не використовує параметрів.
15. Перевіряємо, чи є мініатюри в запису: has_post_thumbnail()
Мініатюра є складовою частиною нового запису або сторінки. Умовний тег has_post_thumbnail() визначає, прив’язані мініатюри до вибраного посаді або ж ні.
Допустимі параметри
У цього умовного тега всього один параметр:
- $post_id (тип ‘integer’, необов’язковий): ID запису. Значення за замовчуванням: ID поточного посту.
Приклад використання умовного тега has_post_thumbnail()
Припустимо, що ви розробляєте тему, в якій кожен пост блогу повинен мати мініатюру, тому вам потрібно вивести мініатюру за замовчуванням у тих записах, де вона не визначена.
Ось як це зробити:
ID ) ) {
$featured_image = get_the_post_thumbnail( $post->ID, ‘thumbnail’, array(
‘alt’ => esc_attr( $post_title ),
‘class’ => $class
) );
} else {
$featured_image = ‘‘;
}
return $featured_image;
}
/*
* Використання (всередині циклу):
* echo mytheme_featured_image( ‘my-custom-class’ );
*/
?>
16. Перевірка використання темою спливаючих вікон для коментарів: is_comments_popup()
Якщо ви розробляєте плагін, то варто передбачити можливість його роботи в будь-яких умовах. Це стосується тем, які використовують спливаюче вікно для коментарів. Щоб це визначити, чи можна використовувати тег is_comments_popup().
Допустимі параметри
Цей тег не використовує параметрів.
17. Перевірка, чи є сторінка повідомленням помилки 404: is_404()
Помилка «Сторінка не знайдена» – найменш бажана сторінка, яку ми хочемо бачити, тому ми ніколи не замислюємося про те, як працює система сторінок 404. Умовний тег is_404() визначає, чи є відображена в даний момент сторінка, сторінки 404 помилки.
Допустимі параметри
Цей тег не використовує параметрів.
Приклад використання умовного тега is_404()
Якщо ви розробляєте плагін, який фіксує адреси неіснуючих посилань на сайті і хочете, щоб функція спрацьовувала кожен раз, коли з’являється сторінка 404, то робиться це наступним чином:
18. Перевірка, чи є таксономія: taxonomy_exists()
Якщо вам потрібно перевірити, чи була вже зареєстрована таксономія, ви можете використовувати у вашому коді умовний тег taxonomy_exists().
Допустимі параметри
У цього умовного тега всього один параметр:
- $taxonomy (тип ‘string’, обов’язковий): Ім’я таксономії. Значення за замовчуванням немає.
19. Перевірка, чи відображає поточна сторінка результати пошуку: is_search()
Результати пошуку — важлива частина сайтів на платформі WordPress. І якщо ви розробляєте плагін або тему, то можете визначати ці сторінки з допомогою умовного тега is_search().
Допустимі параметри
Цей тег не використовує параметрів.
Приклад використання умовного тега is_search()
Припустимо, що вам потрібно включити пошуку видачу з Google по тому ж запиту.
Ось як це робиться:
20. Перевірка, чи є відображена архівної: is_tag()
Хочете по-різному обробляти архівні теги? Умовний тег is_tag() зможе допомогти вам у цьому. Просто помістіть ім’я тега, Slug (короткий URL записи) або ID (або ж масив з них) в якості параметра умовного тега is_tag() .
Допустимі параметри
У цього умовного тега всього один параметр:
- $tag (тип ‘array/string’, необов’язковий): ID тега, ім’я, Slug або масив цих параметрів. Значення за замовчуванням немає.
21. Перевірка запису на наявність короткого опису, заданого користувачем: has_excerpt()
Є два типи коротких витримок у записах WordPress: якщо ви пишете її самостійно, це називається «користувацької витримкою«, а якщо ні, то вона генерується автоматично (за умовчанням, це перші 55 слів запису). Умовний тег has_excerpt() перевіряє, задано чи користувачем короткий опис вибраного запису.
Допустимі параметри
У цього умовного тега всього один параметр:
- $post_id (тип ‘integer’, необов’язковий): ID запису. Значення за замовчуванням: ID поточного запису.
Приклад використання умовного тега has_excerpt()
Припустимо, що ви створюєте тему і хочете відобразити існуючі короткі описи, задані користувачем, на стартовій сторінці сайту.
Ось як це зробити:
22. Перевірка, основною це запит: is_main_query()
WordPress використовує клас WP_Query для створення списку постів. Існує безліч функцій для використання в классеWP_Query, а is_main_query() одна з них. Цей умовний тег визначає тип запиту: він є основним.
Допустимі параметри
Цей тег не використовує параметрів.
23. Перевірка, має запис певні теги: has_tag()
Іноді вам потрібно перевірити наявність тегів у запису, наявність яких буде впливати на те, які дії до неї можна застосувати. Використовуйте умовний тег has_tag() для перевірки запису на наявність певних вами тегів. (Зауважте, що можна шукати більш ніж один тег).
Допустимі параметри
Цей умовний тег може використовувати два параметра:
- $tag (тип ‘array/string’, необов’язковий): Ім’я тега, ID, Slug або ж масив даних. Значення за замовчуванням немає;
- $post (тип ‘object’, необов’язковий): запис для перевірки. Значення за замовчуванням: поточний запис.
Приклад використання умовного тега has_tag()
Припустимо, у вас є значки для записів блогу (наприклад «НОВА», «КРАЩЕ» або «ЗАСТАРІЛЕ»), які ви збираєтеся використовувати за допомогою відповідних тегів, і ви хочете відображати малюнки всередині постів.
Ось що потрібно зробити:
24. Перевірка, чи встановлено CMS: is_blog_installed()
Цей умовний тег повертає значення TRUE, якщо WordPress встановлений. Я включив цей тег на вміст статті для загальної інформації, тому що технічно його не можна використовувати для розробки плагінів або тим. Він може бути використаний в якихось особливих засобах для WordPress.
Допустимі параметри
Цей умовний тег не використовує параметрів.
25. Перевіряємо, чи є у користувача права супер адміністратора: is_super_admin()
У мультисайтовой мережі існує таке поняття, як супер адміністратор, який може налаштовувати усі сайти конкретної мережі. Щоб визначити наявність цих прав у користувача (або ж прав звичайного адміністратора в звичайних установках WordPress), ви можете використовувати тег is_super_admin().
Допустимі параметри
У цього умовного тега всього один параметр:
- $user_id (тип ‘integer’, необов’язковий): ID користувача. (За замовчуванням: Поточний користувач)
Приклад використання умовного тега is_super_admin()
Приміром, вам не подобається стандартне привітання, і ви хочете його змінити, а користувачам воно підходить, і змінювати його не потрібно. В цьому випадку потрібно рішення, яке буде застосовано тільки адміністраторам.
Ось воно:
get_node( ‘my-account’ );
$newtitle = __( ‘Здравія бажаю, бос!’, ‘translation-domain’ );
$wp_admin_bar->add_node( array(
‘id’ => ‘my-account’,
‘title’ => $newtitle
) );
return $wp_admin_bar;
}
?>
26. Перевірка на те, чи є сторінка «Сторінкою»: is_page()
В WordPress «сторінка» – один з п’яти вбудованих типів сторінок поряд з записами, ревізіями, вкладеннями і навігаційними меню. І якщо вам потрібно визначити конкретну сторінку, то ви можете використовувати умовний тег is_page().
Допустимі параметри
У цього умовного тега всього один параметр:
- $page (тип ‘array/string’, необов’язковий): ID, заголовок, Slug сторінки або масив даних. Значення за замовчуванням немає.
Висновок
У цій статті ми розглянули чергову частину з 65 задокументованих умовних позначок WordPress. У наступних статтях ми розглянемо решту 39. Якщо у вас виникли питання або ви хочете залишити коментарі — не соромтеся, сміливо пишіть у формі нижче, а якщо сподобалася стаття, не забудьте нею поділитися!
До зустрічі в наступній частині!
Переклад статті «A Walkthrough on Conditional Tags in WordPress 14 to 26» був підготовлений дружною командою проекту Сайтостроение від А до Я.