Получаем список всех создаваемых миниатюр, включая пользовательские
С версии WordPress 5.3 это можно сделать одной функцией:
Скопировано
$sizes = wp_get_registered_image_subsizes();
Показать код
Она вернет массив наподобие такого:
Array (
[thumbnail] => Array (
[width] => 150
[height] => 150
[crop] => 1
)
[medium] => Array (
[width] => 300
[height] => 300
[crop] =>
)
[medium_large] => Array (
[width] => 768
[height] => 0
[crop] =>
)
[large] => Array (
[width] => 1024
[height] => 1024
[crop] =>
)
[1536x1536] => Array (
[width] => 1536
[height] => 1536
[crop] =>
)
[2048x2048] => Array (
[width] => 2048
[height] => 2048
[crop] =>
)
[new-size] => Array (
[width] => 500
[height] => 500
[crop] => 1
)
)
Здесь размер new-size
- это пользовательский размер изображения, добавленный через функцию add_image_size()
.
В более ранних версия WordPress можно использовать такой код:
Скопировано
function _get_all_image_sizes() {
global $_wp_additional_image_sizes;
$default_image_sizes = get_intermediate_image_sizes();
foreach( $default_image_sizes as $size ) {
$image_sizes[ $size ][ 'width' ] = intval( get_option( "{$size}_size_w" ) );
$image_sizes[ $size ][ 'height' ] = intval( get_option( "{$size}_size_h" ) );
$image_sizes[ $size ][ 'crop' ] = get_option( "{$size}_crop" ) ? get_option( "{$size}_crop" ) : false;
}
if( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) ) {
$image_sizes = array_merge( $image_sizes, $_wp_additional_image_sizes );
}
return $image_sizes;
}
Показать код
Эта функция вернет точно такой же массив, что и выше.