get_tags()

Извлекает все метки записей
Функция WordPress
INT 2.3.0
WordPress Icon
Содержание
  1. Описание функции
  2. Примеры использования
  3. Получение всех постов, отмеченных тегами
  4. Получение количества постов, отмеченных тегами
  5. Получение списка тегов с указанными ID
  6. Получение списка тегов с указанными исключениями
  7. Получение списка тегов с указанным порядком сортировки
  8. Получение списка тегов с указанными мета-ключами и значениями
  9. Получение списка тегов с указанными именами
  10. Получение списка тегов, у которых нет дочерних элементов
  11. Получение списка тегов с указанными ограничениями по количеству
  12. Получение списка тегов с указанным описанием
  13. Получение списка тегов с указанными исключениями и исключением дочерних элементов
  14. Получение списка тегов с указанными мета-ключами и значениями, сортировка по количеству
  15. Вопросы и ответы
  16. Как получить все метки постов?
  17. Как отсортировать метки постов по имени?
  18. Как получить только метки постов определенной таксономии?
  19. Как получить метки постов в обратном порядке?
  20. Как скрыть метки постов, которые не привязаны ни к одному посту?
  21. Как получить только определенные метки постов по их ID?
  22. Как исключить определенные метки постов по их ID?
  23. Как получить метки постов, у которых есть дочерние метки?
  24. Связанные элементы

Описание функции

Функция get_tags() используется для получения всех меток (тегов) записей.

Она извлекает все метки записей, которые были присвоены к постам, и возвращает массив объектов терминов WP_Term[], количество этих меток или объект WP_Error, если какие-либо таксономии не существуют.

Использование

get_tags( string|array $args = '' ) : WP_Term[]|int|WP_Error

Функция get_tags() принимает один необязательный аргумент $args, который может быть строкой или массивом параметров для получения меток. Подробнее о параметрах можно узнать из документации функции get_terms().

  • $args (строка или массив): Необязательные аргументы для получения меток. См. дополнительные параметры в функции get_terms().

Функция get_tags() возвращает массив объектов терминов WP_Term[], количество этих меток или объект WP_Error, если какие-либо таксономии не существуют.


$args = array(
  'taxonomy' => 'post_tag', // Таксономия для получения меток (по умолчанию 'post_tag')
  'orderby' => 'name', // Сортировка по имени
  'order' => 'ASC', // Сортировка в порядке возрастания
  'hide_empty' => false, // Показывать метки, не присвоенные ни одной записи
  'number' => 10 // Максимальное количество меток для получения
);
$tags = get_tags( $args );
if ( ! empty( $tags ) ) {
  foreach ( $tags as $tag ) {
    echo '<a href="' . get_tag_link( $tag ) . '">' . $tag->name . '</a> ';
  }
} else {
  echo 'Метки не найдены.';
}

В этом примере мы используем функцию get_tags() для получения 10 меток записей. Затем мы выводим каждую метку в виде ссылки на ее страницу с помощью функции get_tag_link(). Если метки не найдены, выводится сообщение «Метки не найдены».

Примеры использования

Получение всех постов, отмеченных тегами


$tags = get_tags();
if ( ! empty( $tags ) ) {
    foreach ( $tags as $tag ) {
        echo $tag->name;
    }
}

Получение количества постов, отмеченных тегами


$count = get_tags( array( 'count' => true ) );
echo $count;

Получение списка тегов с указанными ID


$tags = get_tags( array( 'include' => '1,2,3' ) );
if ( ! empty( $tags ) ) {
    foreach ( $tags as $tag ) {
        echo $tag->name;
    }
}

Получение списка тегов с указанными исключениями


$tags = get_tags( array( 'exclude' => '4,5,6' ) );
if ( ! empty( $tags ) ) {
    foreach ( $tags as $tag ) {
        echo $tag->name;
    }
}

Получение списка тегов с указанным порядком сортировки


$tags = get_tags( array( 'orderby' => 'name', 'order' => 'ASC' ) );
if ( ! empty( $tags ) ) {
    foreach ( $tags as $tag ) {
        echo $tag->name;
    }
}

Получение списка тегов с указанными мета-ключами и значениями


$tags = get_tags( array( 'meta_key' => 'color', 'meta_value' => 'red' ) );
if ( ! empty( $tags ) ) {
    foreach ( $tags as $tag ) {
        echo $tag->name;
    }
}

Получение списка тегов с указанными именами


$tags = get_tags( array( 'name' => 'tag1,tag2,tag3' ) );
if ( ! empty( $tags ) ) {
    foreach ( $tags as $tag ) {
        echo $tag->name;
    }
}

Получение списка тегов, у которых нет дочерних элементов


$tags = get_tags( array( 'childless' => true ) );
if ( ! empty( $tags ) ) {
    foreach ( $tags as $tag ) {
        echo $tag->name;
    }
}

Получение списка тегов с указанными ограничениями по количеству


$tags = get_tags( array( 'number' => 5 ) );
if ( ! empty( $tags ) ) {
    foreach ( $tags as $tag ) {
        echo $tag->name;
    }
}

Получение списка тегов с указанным описанием


$tags = get_tags( array( 'description__like' => 'Lorem ipsum' ) );
if ( ! empty( $tags ) ) {
    foreach ( $tags as $tag ) {
        echo $tag->name;
    }
}

Получение списка тегов с указанными исключениями и исключением дочерних элементов


$tags = get_tags( array( 'exclude' => '4,5,6', 'exclude_tree' => '7,8,9' ) );
if ( ! empty( $tags ) ) {
    foreach ( $tags as $tag ) {
        echo $tag->name;
    }
}

Получение списка тегов с указанными мета-ключами и значениями, сортировка по количеству


$tags = get_tags( array( 'meta_key' => 'color', 'meta_value' => 'red', 'orderby' => 'count', 'order' => 'DESC' ) );
if ( ! empty( $tags ) ) {
    foreach ( $tags as $tag ) {
        echo $tag->name;
    }
}

Вопросы и ответы

Как получить все метки постов?

Для получения всех меток постов в WordPress можно использовать функцию get_tags(). Она возвращает массив объектов терминов типа ‘post_tag’, количество этих терминов или объект WP_Error в случае, если таксономия не существует.

Пример использования:


$tags = get_tags();
if ( ! empty( $tags ) ) {
    foreach ( $tags as $tag ) {
        echo $tag->name;
    }
}

Как отсортировать метки постов по имени?

Для сортировки меток постов по имени можно использовать параметр orderby функции get_tags(). Значение этого параметра должно быть строкой ‘name’.

Пример использования:


$tags = get_tags( array(
    'orderby' => 'name',
) );
if ( ! empty( $tags ) ) {
    foreach ( $tags as $tag ) {
        echo $tag->name;
    }
}

Как получить только метки постов определенной таксономии?

Для получения только меток постов определенной таксономии можно использовать параметр taxonomy функции get_tags(). Значение этого параметра должно быть строкой с названием таксономии.

Пример использования:


$tags = get_tags( array(
    'taxonomy' => 'my_taxonomy',
) );
if ( ! empty( $tags ) ) {
    foreach ( $tags as $tag ) {
        echo $tag->name;
    }
}

Как получить метки постов в обратном порядке?

Для получения меток постов в обратном порядке можно использовать параметр order функции get_tags(). Значение этого параметра должно быть строкой ‘DESC’.

Пример использования:


$tags = get_tags( array(
    'order' => 'DESC',
) );
if ( ! empty( $tags ) ) {
    foreach ( $tags as $tag ) {
        echo $tag->name;
    }
}

Как скрыть метки постов, которые не привязаны ни к одному посту?

Для скрытия меток постов, которые не привязаны ни к одному посту, можно использовать параметр hide_empty функции get_tags(). Установите значение этого параметра в true или 1. В итоге будут возвращены только метки, которые привязаны к постам.


$tags = get_tags( array(
    'hide_empty' => true,
) );

Как получить только определенные метки постов по их ID?

Для получения только определенных меток постов по их ID можно использовать параметр include функции get_tags(). Укажите в этом параметре массив или строку с ID нужных меток. В итоге будут возвращены только указанные метки.


$tags = get_tags( array(
    'include' => array( 1, 2, 3 ),
) );

Как исключить определенные метки постов по их ID?

Для исключения определенных меток постов по их ID можно использовать параметр exclude функции get_tags(). Укажите в этом параметре массив или строку с ID меток, которые нужно исключить. В итоге будут возвращены все метки, кроме указанных.


$tags = get_tags( array(
    'exclude' => array( 4, 5, 6 ),
) );

Как получить метки постов, у которых есть дочерние метки?

Для получения меток постов, у которых есть дочерние метки, можно использовать параметр child_of функции get_tags(). Укажите в этом параметре ID метки, для которой нужно получить дочерние метки. В итоге будут возвращены только метки, которые являются дочерними для указанной метки.


$tags = get_tags( array(
    'child_of' => 7,
) );

Функция get_tags() позволяет получить все метки постов или выполнить более точный запрос с использованием различных параметров. Вы можете скрыть метки, которые не привязаны ни к одному посту, получить только определенные метки по их ID, исключить определенные метки постов по их ID, а также получить метки постов, у которых есть дочерние метки. Эти возможности делают функцию get_tags() мощным инструментом для работы с метками в WordPress.

Связанные элементы

  • Функция get_terms(): возвращает список терминов определенной таксономии.
  • Функция get_term(): возвращает объект термина по его ID.
  • Функция get_term_by(): возвращает объект термина по заданным параметрам.
  • Функция get_term_link(): возвращает URL ссылку на страницу термина.
  • Хук pre_get_terms: позволяет изменять параметры запроса терминов до их получения.
  • Хук terms_clauses: позволяет изменять SQL запрос для получения терминов.
  • Хук get_terms_args: позволяет изменять аргументы запроса терминов.
  • Класс WP_Term: представляет термин и его свойства.
  • Класс WP_Error: представляет объект ошибки.
Обсуждение