Функция 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, будь то изображение, аудио, видео или файл с конкретным расширением. Она позволяет разработчикам легко управлять контентом и адаптировать его отображение в зависимости от типа вложения.