## WP_ATTACHMENT_IS() │ WP 4.2.0
Функция wp_attachment_is() используется для проверки, является ли вложение определённого типа. Это может быть полезно, например, когда вы хотите определить, является ли загруженный файл изображением, видео или аудио.
### Использование
Эта функция используется, когда вы хотите узнать, относится ли файл к одной из категорий. Например, вы можете использовать её для проверки, является ли файл изображением.
### Возвращаемое значение
Функция возвращает true, если файл соответствует ожидаемому типу (например, изображение), и false в противном случае.
### Аргументы функции
- $type (string) (обязательный) — тип вложения. Принимает значения: image, audio, video или расширение файла.
- $post (int|WP_Post) (необязательный) — ID вложения или объект поста. По умолчанию используется глобальная переменная $post.
### Пример использования
Предположим, у нас есть файл, прикреплённый к посту, и мы знаем его ID — 54. Теперь нам нужно проверить, является ли это изображением:
```php
if (wp_attachment_is('image', 54)) {
// Это изображение
} else {
// Это не изображение
}
Также для этой проверки можно использовать функцию wp_attachment_is_image().
Код функции
Вот как выглядит сама функция в коде:
function wp_attachment_is($type, $post = null) {
$post = get_post($post);
if (!$post) {
return false;
}
$file = get_attached_file($post->ID);
if (!$file) {
return false;
}
if (str_starts_with($post->post_mime_type, $type . '/')) {
return true;
}
$check = wp_check_filetype($file);
if (empty($check['ext'])) {
return false;
}
$ext = $check['ext'];
if ('import' !== $post->post_mime_type) {
return $type === $ext;
}
switch ($type) {
case 'image':
$image_exts = array('jpg', 'jpeg', 'jpe', 'gif', 'png', 'webp', 'avif', 'heic');
return in_array($ext, $image_exts, true);
case 'audio':
return in_array($ext, wp_get_audio_extensions(), true);
case 'video':
return in_array($ext, wp_get_video_extensions(), true);
default:
return $type === $ext;
}
}
Изменения
Функция была представлена в версии 4.2.0.
Связанные функции
get_attached_file()— Получить прикреплённый файл.wp_get_audio_extensions()— Получить список поддерживаемых аудио расширений.wp_get_video_extensions()— Получить список поддерживаемых видео расширений.
Эти функции могут быть полезны для работы с вложениями и медиафайлами в WordPress.