Функция wp_get_additional_image_sizes()
в WordPress позволяет получить информацию обо всех зарегистрированных дополнительных размерах изображений. По умолчанию WordPress предоставляет четыре стандартных размера изображений — это thumbnail
, medium
, medium_large
, и large
. Однако, разработчики могут добавить свои собственные размеры с помощью функции add_image_size()
. wp_get_additional_image_sizes()
возвращает массив всех таких дополнительных размеров, которые были зарегистрированы в системе.
wp_get_additional_image_sizes(): array
Возвращаемое значение:
- Возвращает ассоциативный массив с данными всех зарегистрированных дополнительных размеров изображений. Каждая запись массива содержит информацию о ширине (
width
), высоте (height
) и параметре обрезки (crop
).
Пример 1: Получение всех дополнительных размеров изображений
Этот пример демонстрирует, как получить список всех дополнительных размеров изображений, зарегистрированных в вашей теме или плагине.
<?php
$additional_sizes = wp_get_additional_image_sizes();
if ( ! empty( $additional_sizes ) ) {
foreach ( $additional_sizes as $size_name => $size_data ) {
echo "Название размера: $size_name" . PHP_EOL;
echo "Ширина: " . $size_data['width'] . PHP_EOL;
echo "Высота: " . $size_data['height'] . PHP_EOL;
echo "Обрезка: " . ( $size_data['crop'] ? 'Да' : 'Нет' ) . PHP_EOL;
echo PHP_EOL;
}
} else {
echo "Дополнительные размеры изображений не найдены.";
}
?>
Результат: Предположим, у вас зарегистрирован дополнительный размер изображения custom-size
с параметрами ширина 600 пикселей, высота 400 пикселей и обрезка включена. Вывод будет следующим:
Название размера: custom-size
Ширина: 600
Высота: 400
Обрезка: Да
Пример 2: Добавление и получение дополнительного размера изображения
Чтобы добавить новый размер изображения, можно использовать функцию add_image_size()
, а затем получить данные об этом размере с помощью wp_get_additional_image_sizes()
.
<?php
// Добавим новый размер изображения
add_image_size( 'special-thumbnail', 200, 150, true );
// Получим информацию о зарегистрированных дополнительных размерах
$additional_sizes = wp_get_additional_image_sizes();
echo "<pre>";
print_r( $additional_sizes );
echo "</pre>";
?>
Результат: Вывод функции print_r()
покажет массив, содержащий новый зарегистрированный размер special-thumbnail
.
Array
(
[special-thumbnail] => Array
(
[width] => 200
[height] => 150
[crop] => 1
)
)
Пример 3: Использование данных дополнительного размера
Теперь, когда у нас есть дополнительный размер изображения, мы можем его использовать при выводе изображений на сайте. Например, можно использовать функцию the_post_thumbnail()
с нашим новым размером:
<?php
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'special-thumbnail' );
}
?>
Этот код выведет миниатюру изображения поста с ранее зарегистрированным размером special-thumbnail
.
Как это работает
Функция wp_get_additional_image_sizes()
работает с глобальной переменной $_wp_additional_image_sizes
, которая хранит данные о всех дополнительных зарегистрированных размерах изображений. Эта переменная заполняется при помощи функции add_image_size()
, которая позволяет разработчикам добавлять свои собственные размеры изображений.
Заключение
Функция wp_get_additional_image_sizes()
полезна для разработчиков тем и плагинов, которые добавляют собственные размеры изображений и хотят получать информацию о них в коде. С её помощью можно динамически получать параметры размеров изображений и использовать их для кастомных решений на вашем сайте WordPress.