Как использовать WP_GET_REGISTERED_IMAGE_SUBSIZES() для работы с размерами изображений

WP_GET_REGISTERED_IMAGE_SUBSIZES() │ WP 5.3.0

Функция WP_GET_REGISTERED_IMAGE_SUBSIZES() возвращает список всех зарегистрированных размеров изображений на вашем сайте, упрощая их использование.

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

Чтобы получить зарегистрированные подразмеры изображений, используйте следующий код:


$subsizes = wp_get_registered_image_subsizes();
print_r($subsizes);

Этот код вернёт ассоциативный массив с информацией о каждом зарегистрированном размере изображения, включая его имя, ширину, высоту и настройки обрезки.

Возврат

Функция возвращает массив, состоящий из массивов с информацией о подформах изображений. Ключи этого массива — это имена размеров изображений.

Array
(
    'medium' => Array
        (
            'width' => 300,
            'height' => 300,
            'crop' => true
        ),
    'large' => Array
        (
            'width' => 1024,
            'height' => 1024,
            'crop' => false
        ),
    // Другие размеры
)

Изменения

  • С версии 5.3.0: Функция была введена в WordPress.

Код функции

Вот как выглядит реализация функции wp_get_registered_image_subsizes() в файле media.php:


function wp_get_registered_image_subsizes() {
$additional_sizes = wp_get_additional_image_sizes();
$all_sizes = array();

foreach (get_intermediate_image_sizes() as $size_name) {
    $size_data = array(
        'width' => 0,
        'height' => 0,
        'crop' => false,
    );

    if (isset($additional_sizes[$size_name]['width'])) {
        // Для размеров, добавленных плагинами и темами.
        $size_data['width'] = (int) $additional_sizes[$size_name]['width'];
    } else {
        // Для стандартных размеров, указанных в настройках.
        $size_data['width'] = (int) get_option("{$size_name}_size_w");
    }

    if (isset($additional_sizes[$size_name]['height'])) {
        $size_data['height'] = (int) $additional_sizes[$size_name]['height'];
    } else {
        $size_data['height'] = (int) get_option("{$size_name}_size_h");
    }

    if (empty($size_data['width']) && empty($size_data['height'])) {
        // Если размер не установлен, пропускаем его.
        continue;
    }

    if (isset($additional_sizes[$size_name]['crop'])) {
        $size_data['crop'] = $additional_sizes[$size_name]['crop'];
    } else {
        $size_data['crop'] = get_option("{$size_name}_crop");
    }

    if (!is_array($size_data['crop']) || empty($size_data['crop'])) {
        $size_data['crop'] = (bool) $size_data['crop'];
    }

    $all_sizes[$size_name] = $size_data;
}

return $all_sizes;

}

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

Вот некоторые функции, которые могут быть полезны при работе с изображениями в WordPress:

  • add_image_size() — добавляет новый размер изображения.
  • delete_post_thumbnail() — удаляет миниатюру записи.
  • get_intermediate_image_sizes() — получает список промежуточных размеров изображений.
  • get_post_thumbnail_id() — получает ID миниатюры записи.
  • get_the_post_thumbnail() — получает HTML для миниатюры записи.

Эти функции позволят вам более гибко работать с изображениями и их размерами на вашем сайте WordPress.

Leave a Reply

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