Как получить размер миниатюры записи?
Я знаю, как установить размер миниатюры записи используя настройки WP Admin Настройки медиафайлов или используя эту функцию:
set_post_thumbnail_size( 150, 150 )
Но как получить ширину и высоту, которые были установлены для размера миниатюры изображения?
Я бы хотел иметь возможность сделать что-то вроде этого:
get_post_thumbnail_size(); // возвращает array(150, 150)
Как это можно сделать? Используется ли для этого get_option()
, и какие будут ключи опций для ширины и высоты миниатюры?

Это действительно лучший вариант, потому что плагины могут запускать свои хуки на нём.

Когда размер изображения добавляется либо WordPress (через add_image_size
), либо плагином, либо вашим собственным пользовательским кодом, он попадает в глобальную переменную $_wp_additional_image_sizes
. Я не смог найти аналогичной функции для извлечения данных из этой глобальной переменной, но вы можете просто заглянуть внутрь неё, чтобы определить ширину и высоту зарегистрированного размера изображения.
Пример:
global $_wp_additional_image_sizes;
// Вывод ширины
echo $_wp_additional_image_sizes['post_thumbnail']['width'];
// Вывод высоты
echo $_wp_additional_image_sizes['post_thumbnail']['height'];
Конечно, убедитесь, что обращаетесь к этим значениям после того, как размер был установлен. Например, если вы устанавливаете размер миниатюры во время инициализации (init), вам нужно выполнять необходимые действия после этого момента (иначе вы получите размеры, которые были до их установки).
Надеюсь, это поможет.

В дополнение к тому, почему так сложно получить эти числа, существует улучшение ядра, содержащее готовый патч. К сожалению, оно до сих пор не включено в ядро.
Следите за прогрессом по этому тикету: Wordpress Trac: Улучшение функции get_intermediate_image_sizes()
для включения не только названий, но и размеров.

Вам нужна именно эта функция: wp_get_attachment_image_src
Кодекс: http://codex.wordpress.org/Function_Reference/wp_get_attachment_image_src
Она возвращает массив, содержащий URL вложения, ширину и высоту.

В дополнение к вышесказанному:
$attachment = wp_get_attachment_image_src( $attachment_id ); // где $attachment_id - это ID вложения, из которого нужно получить миниатюру
Затем просто используйте следующий код для вывода URL, ширины и высоты:
echo $attachment[0]; // URL
echo $attachment[1]; // ширина
echo $attachment[2]; // высота
