WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Рекомендуемые продукты со скидкой от Template Monster

get_post_mime_type() WP 2.0.0

Получает mime тип прикрепленных записей (картинки, файлы и т.п.), на основе переданного ID.
Функция возвращает миме тип записи или false, если миме типа нет.

Функция может использоваться с любым типом записей, но расчитана именно для прикрепленных записей.

Работает на основе: get_post()

Хуков нет.

Использование

<?php get_post_mime_type( $ID ) ?>

$ID(число)

ID записи/поста.
По умолчанию: нет

Примеры

Нужно получить миме тип записи с ID равным 121 (это загруженный в медиа раздел WordPress html файл):

$rrr = get_post_mime_type( 121 );
echo $rrr;
// выведет: text/html

Если нам нужно узнать миме тип внутри какого-либо цикла, в котором используется глобальная переменная $post, то вместо этой функции можно использовать:

$post->post_mime_type;

Список изменений

С версии 2.0.0 Введена.

Код get post mime type: wp-includes/post.php WP 5.2.4

<?php
function get_post_mime_type( $post = null ) {
	$post = get_post( $post );

	if ( is_object( $post ) ) {
		return $post->post_mime_type;
	}

	return false;
}

Cвязанные функции

Из метки: post пост

Еще из раздела: Вложения (media файлы)

1 коммент
  • tronix52 nebster.net

    В статью можно добавить пример с демонстрацией всех возможных типов.

    Отобразим иконку файла в зависимости от типа файла (хотя для этого есть отдельная WordPress-функция wp_mime_type_icon() )

    function get_icon_for_attachment($post_id) {
      $base = get_template_directory_uri() . "/images/icons/";
      $type = get_post_mime_type($post_id);
      switch ($type) {
    	case 'image/jpeg':
    	case 'image/png':
    	case 'image/gif':
    	  return $base . "image.png"; break;
    	case 'video/mpeg':
    	case 'video/mp4': 
    	case 'video/quicktime':
    	  return $base . "video.png"; break;
    	case 'text/csv':
    	case 'text/plain': 
    	case 'text/xml':
    	  return $base . "text.png"; break;
    	default:
    	  return $base . "file.png";
      }
    }
    
    echo '<img src="'.get_icon_for_attachment($my_attachment->ID).'" />';
    1
    Ответить1.2 года назад #
Здравствуйте, !     Войти . Зарегистрироваться