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

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here