# HAS_POST_FORMAT() │ WP 3.1.0
Функция has_post_format() позволяет проверить, имеет ли запись один из заданных форматов, либо любой формат.
**Использует:** has_term()
**Производительность:**
- 1 раз — 0.001473 сек (очень медленно)
- 50000 раз — 63.94 сек (очень медленно)
**Хуки:** нет.
## Возвращаемое значение
Функция возвращает true, если запись имеет один из указанных форматов (или любой формат, если формат не указан), и false в противном случае.
## Использование
```php
has_post_format( $format, $post );
Параметры
$format(строка|массив строк) — формат(ы), которые нужно проверить. По умолчанию: пустой массив.$post(WP_Post | int | null) — запись, которую необходимо проверить. По умолчанию: текущая запись в цикле.
Примеры
Пример 1: Проверка формата записи
Допустим, нам нужно проверить формат записи в цикле и отобразить иконку, если это, скажем, видеоформат:
// внутри цикла
if( has_post_format( 'video' ) ){
echo "
";
}
Пример 2: Указание нескольких форматов для проверки
Предположим, наши записи условно делятся на новости (обычные записи) и медиа (записи с галереями и видео). При выводе в цикле нам нужно пометить записи как "медиа". Для этого мы укажем форматы в виде массива:
if( has_post_format( array('video', 'gallery') ) ){
// это запись медиа
}
Пример 3: Проверка формата конкретной записи
Этот пример показывает, как проверить формат записи с ID = 23:
if( has_post_format( 'status', 23 ) ){
// это статус
}
Код функции
function has_post_format( $format = array(), $post = null ) {
$prefixed = array();
if ( $format ) {
foreach ( (array) $format as $single ) {
$prefixed[] = 'post-format-' . sanitize_key( $single );
}
}
return has_term( $prefixed, 'post_format', $post );
}
Связанные функции
- get_post_format() — получает формат записи.
- set_post_format() — задает формат записи.