Cómo obtener una lista de todos los posibles tamaños de miniaturas establecidos en un tema
¿Qué función puedo usar en un plugin para obtener las dimensiones de cada tamaño de imagen (preferiblemente en un array) que está definido en un tema hijo?
Solo para aclarar, no estoy preguntando cómo crear un nuevo tamaño de imagen.

Lo encontré aquí. La respuesta es:
global $_wp_additional_image_sizes;
print '<pre>';
print_r( $_wp_additional_image_sizes );
print '</pre>';

Agregarlo al inicio del archivo functions.php
no funcionará, pero colócalo dentro de cualquiera de tus funciones en ese archivo y debería funcionar.

A partir de 2023 esta es la respuesta correcta: https://wordpress.stackexchange.com/questions/33532/how-to-get-a-list-of-all-the-possible-thumbnail-sizes-set-within-a-theme#answer-410707

El núcleo de WordPress no tiene un método nativo para obtener los tamaños intermedios de imágenes (es decir, ancho y alto), pero la siguiente función auxiliar obtendrá todos los tamaños de imagen registrados junto con sus dimensiones:
/**
* Obtiene todos los tamaños de imagen registrados junto con sus dimensiones
*
* @global array $_wp_additional_image_sizes
*
* @link http://core.trac.wordpress.org/ticket/18947 Ticket de referencia
*
* @return array $image_sizes Los tamaños de imagen
*/
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;
}
Que producirá resultados similares a:
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] =>
)
)

+1 por una respuesta más completa. Las otras devuelven tamaños adicionales pero no los predeterminados.

Incluso mejor si usas $default_image_sizes = get_intermediate_image_sizes();
ya que hay un tamaño medium_large
desde WP 4.4.

Esta respuesta funciona perfectamente, pero ha sido reemplazada por el último comentario, para WordPress 5.3 y versiones superiores: https://developer.wordpress.org/reference/functions/wp_get_registered_image_subsizes/

Si solo necesitas los nombres de todos los tamaños de imagen, puedes usar get_intermediate_image_sizes:
<pre>
<?php print_r(get_intermediate_image_sizes()); ?>
</pre>

Desde WP 5.3 es suficiente usar esta función:
wp_get_registered_image_subsizes();
Documentación: https://developer.wordpress.org/reference/functions/wp_get_registered_image_subsizes/

La respuesta más corta y la única correcta aquí, pero ¿por qué está tan abajo en los rankings?

La única respuesta adecuada. Probablemente esté en un ranking bajo porque solo existe desde WP 5.3, que en el momento de la pregunta del OP no estaba disponible. Sin embargo, esta debería ser la única respuesta aceptada, ya que todo lo demás es el típico "arrojar algo de basura de código de SO" - votado a favor para subirlo.

Si la otra respuesta no funcionó, usa este código, que se ejecutará después de que WordPress se haya inicializado.
add_action('init', 'get_all_image_sizes');
function get_all_image_sizes(){
global $_wp_additional_image_sizes;
print '<pre>';
print_r( $_wp_additional_image_sizes );
print '</pre>';
}

Desde WP 4.7 puedes usar wp_get_additional_image_sizes() para obtener los tamaños de imagen adicionales registrados (excluyendo los tamaños de imagen predeterminados añadidos por WP).
Desde WP 5.3 puedes usar wp_get_registered_image_subsizes() para obtener todos los tamaños de imagen registrados.

Utiliza las siguientes funciones:
get_intermediate_image_sizes(); // Obtiene todos los nombres de tamaños de imagen.
wp_get_additional_image_sizes(); // Obtiene todos los datos adicionales de tamaños de imagen.
wp_get_registered_image_subsizes(); // Obtiene todos los datos de tamaños de imagen registrados.

Sé que llego un poco tarde a la fiesta, pero aquí está mi forma de mostrar todos los tamaños de imágenes en el administrador
/**
* Metabox con todos los tamaños de imágenes en el Admin
*/
function sixtyseven_register_imagesizes_dashboard_widget() {
global $wp_meta_boxes;
wp_add_dashboard_widget(
'imagesizes_dashboard_widget',
'Tamaños de imagen registrados',
'sixtyseven_imagesizes_dashboard_widget_display'
);
$dashboard = $wp_meta_boxes['dashboard']['normal']['core'];
$new_widget = array( 'imagesizes_dashboard_widget' => $dashboard['imagesizes_dashboard_widget'] );
unset( $dashboard['imagesizes_dashboard_widget'] );
$sorted_dashboard = array_merge( $new_widget, $dashboard );
$wp_meta_boxes['dashboard']['normal']['core'] = $sorted_dashboard;
}
add_action( 'wp_dashboard_setup', 'sixtyseven_register_imagesizes_dashboard_widget' );
function sixtyseven_imagesizes_dashboard_widget_display() {
$sizes = wp_get_registered_image_subsizes();
echo '<ul>';
foreach($sizes as $name => $values){
echo '<li>';
echo '<strong>'.$name.':</strong> ';
echo 'ancho: '.$values['width'].'px, ';
echo 'alto: '.$values['height'].'px';
if($values['crop'] === true){
echo ', recortado';
}
echo '</li>';
}
echo '</ul>';
}
Espero que esto ayude.
