Получение MIME-типа поста в WordPress: Функция GET_POST_MIME_TYPE()

# Получение MIME-типа поста в WordPress: Функция GET_POST_MIME_TYPE()

Функция GET_POST_MIME_TYPE() позволяет узнать MIME-тип, т.е. формат файла вложения, используя его ID. Эта функция полезна для работы с вложениями, такими как изображения, документы и другие мультимедийные файлы.

## Как это работает?

Функция может быть использована с любым типом поста, но чаще всего применяется именно для вложений. Она возвращает строку с MIME-типом файла или false, если тип не удалось получить.

**Возвращаемое значение:**

- **String|false**: MIME-тип в случае успеха, false в случае ошибки.

## Применение функции

### Синтаксис

```php
get_post_mime_type( $post );
  • $post (int|WP_Post): ID поста или объект поста. По умолчанию используется глобальная переменная $post.

Примеры использования

Пример 1: Получение MIME-типа поста

Предположим, вам нужно получить MIME-тип для поста с ID 121 (например, это загруженный файл HTML в медиабиблиотеку WordPress):

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

Если вы находитесь внутри цикла и хотите узнать MIME-тип текущего поста, можно использовать:

$post->post_mime_type;

Пример 2: Получение пути к иконке

Если вы хотите получить путь к иконке в зависимости от MIME-типа поста, используйте следующую функцию:

function get_icon_for_attachment( $post_id ) {
  $base = get_template_directory_uri() . "/images/icons/"; // Путь к иконкам
  $type = get_post_mime_type($post_id); // Получаем MIME-тип

  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 '';

Также в WordPress существует функция wp_mime_type_icon(), которая может помочь получить иконку по MIME-типу.

Изменения в функции

Функция была введена в версии 2.0.0 и была доступна в файле wp-includes/post.php с определением:

function get_post_mime_type( $post = null ) {
    $post = get_post( $post );

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

    return false;
}

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

  • post:

    • get_post_ancestors()
  • MIME-тип:

    • wp_get_image_mime()
    • wp_get_mime_types()
  • Вложения (медийные файлы):

    • get_attached_file()
    • get_attached_media()
    • get_attachment_link()
    • get_children()
    • is_local_attachment()
    • the_attachment_link()
    • wp_attachment_is()
    • wp_delete_attachment()
    • wp_get_attachment_link()
    • wp_get_attachment_url()
    • wp_get_original_image_path()
    • wp_get_original_image_url()
    • wp_insert_attachment()

Эта информация поможет вам эффективно использовать функцию get_post_mime_type() для работы с вложениями в WordPress.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *