wp_attachment_is() WP 4.2.0

Перевіряє, чи є вказане вкладення: картинкою, аудіо або відео. Умовний тег.

Основа для:
wp_attachment_is_image()
1 раз – 0.00137 сек
(дуже повільно) | 50000 разів – 11.36 сек
(повільно)

Хуків немає.

Повертає

true|false.

Використання

wp_attachment_is( $type, $post_id );
$type
(рядок) (обов’язковий)
Тип перевірки. Можливо: ‘image’, ‘audio’ або ‘video’.
$post_id
(число/WP_Post) (обов’язковий)
ID вкладення прикріпленого файлу. Можна передати об’єкт вкладення.

Приклади

0

#1 Перевіримо, чи є прикріплений файл картинкою

Допустимо ми отримали прикріплений до посту файл і знаємо його ID – 54. Тепер нам потрібно перевірити, чи є він картинкою:

if( wp_attachment_is( 'image', 54 ) ){
	// картинка
}
else {
	// не картинка
}

Таку ж перевірку робить wp_attachment_is_image() .

список змін

З версії 4.2.0Введено.

Код wp_attachment_is() WP 6.0.2

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 ( 0 === strpos( $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');
			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;
	}
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *