has_tag()
Перевіряє чи належить пост до зазначених міток, тобто. чи має пост зазначені мітки. Умовний тег.
Зазначені параметрі $tag
мітки порівнюються з мітками посту. Порівнюються назви, слаги та ID міток. Якщо передано лише ID міток (числа), то порівнюватимуть лише ID (term_ids).
Якщо параметру $tag
не передано жодне значення, то перевіряться чи має пост мітки взагалі.
Працює на основі:
has_term()
has_term()
1 раз – 0.001853 сек
(дуже повільно) | 50000 разів – 96.58 сек
(дуже повільно)
(дуже повільно) | 50000 разів – 96.58 сек
(дуже повільно)
Хуків немає.
Повертає
true|false
. true, якщо пост має зазначені мітки і false в іншому випадку.
Використання
if( has_tag( $tag, $post ) ){ // ... }
-
$tag
(рядок/масив/число) - Назва, слаг або ID мітки, наявність яких буде перевірено на поточному посту. Також можна вказувати масиви назв, складів та ID міток.
-
$post
(число/об’єкт) -
Інший пост – не поточний, який потрібно перевірити на наявність у нього вказаних тегів.
За замовчуванням: поточний пост
Приклади
#1 Перевіримо наявність будь-яких міток біля поточного поста:
<?php if( has_tag() ) echo "У поточного посту є мітки"; ?>
#2 Перевіримо, чи належить пост до мітки “kino”, якщо так виведемо на екран відповідний напис:
<?php if( has_tag( 'kino' ) ) echo "У поточного посту є мітка `kino`"; ?>
#3 Перевіримо, якщо у посту 56 мітки 45 і 89 (замість ID міток можна вказати їх назви або слаги):
<?php if( has_tag( array(45,89), 56 ) ) echo "У посту 56 (ID), є мітки з ID 45 та 89"; ?>
список змін
З версії 2.6.0 | Введено. |
З версії 2.7.0 | Tags given as integers are only checked against the post’s tags’ term_ids, не names or slugs. |
З версії 2.7.0 | Може бути використаний з WordPress Loop if $post is provided. |
Код has_tag() has tag WP 6.0.2
function has_tag( $tag = '', $post = null ) { return has_term($tag, 'post_tag', $post); }