Функция wp_attachment_is() в WordPress используется для проверки, соответствует ли вложение определенному типу файла. Эта функция особенно полезна, когда нужно убедиться, что прикрепленный к посту файл является изображением, аудиофайлом, видеороликом или файлом с определенным расширением. Она возвращает true или false в зависимости от того, соответствует ли вложение указанному типу.
wp_attachment_is( string $type, int|WP_Post $post = null ): bool
Описание параметров
- $type (string): Обязательный параметр, указывающий тип вложения, который необходимо проверить. Поддерживаются следующие значения:
image,audio,video, или конкретное расширение файла, напримерpdfилиjpg. - $post (int|WP_Post): Необязательный параметр. ID вложения или объект поста, к которому оно прикреплено. Если параметр не указан, используется глобальный объект
$post.
Возвращаемое значение
Функция возвращает:
true, если тип вложения соответствует переданному типу или расширению файла.false, если вложение не соответствует указанному типу.
Пример 1: Проверка, является ли вложение изображением
Допустим, у нас есть вложение с ID 34, и мы хотим проверить, является ли этот файл изображением:
<?php
if ( wp_attachment_is( 'image', 34 ) ) {
echo 'Это изображение.';
} else {
echo 'Это не изображение.';
}
?>
Если вложение является изображением (например, jpg, png, или gif), функция выведет «Это изображение».
Пример 2: Проверка аудиофайла
Теперь представим, что у нас есть аудиофайл с ID 78, и мы хотим убедиться, что это действительно аудиофайл:
<?php
if ( wp_attachment_is( 'audio', 78 ) ) {
echo 'Это аудиофайл.';
} else {
echo 'Это не аудиофайл.';
}
?>
Функция вернет true, если вложение будет аудиофайлом, например, в формате mp3 или wav.
Пример 3: Проверка видеофайла
Для проверки, является ли вложение видеофайлом, можно использовать следующий код:
<?php
if ( wp_attachment_is( 'video', 102 ) ) {
echo 'Это видео.';
} else {
echo 'Это не видео.';
}
?>
Этот код проверит, относится ли вложение с ID 102 к видеоформатам, таким как mp4 или mov.
Пример 4: Проверка файла с определенным расширением
Допустим, у нас есть вложение с ID 120, и мы хотим проверить, является ли оно PDF-документом:
<?php
if ( wp_attachment_is( 'pdf', 120 ) ) {
echo 'Это PDF файл.';
} else {
echo 'Это не PDF файл.';
}
?>
В этом примере, если файл с ID 120 окажется PDF-документом, функция вернет true.
Полезность функции
Функция wp_attachment_is() является отличным инструментом для проверки вложений на соответствие их типам или расширениям. Это удобно для разработки тем и плагинов, когда требуется управлять отображением контента в зависимости от типа файла.
Связанные функции
- wp_attachment_is_image(): Более специфичная версия функции, проверяющая, является ли вложение изображением. Если вам нужно проверять только изображения, можно использовать её.
Заключение
Функция wp_attachment_is() предоставляет гибкий способ проверять тип вложения в WordPress, будь то изображение, аудио, видео или файл с конкретным расширением. Она позволяет разработчикам легко управлять контентом и адаптировать его отображение в зависимости от типа вложения.