¿Qué función puedo usar en un complemento para obtener las dimensiones de cada tamaño de imagen (en una matriz preferiblemente) que se define en un tema secundario?
Solo para aclarar, no estoy preguntando cómo crear un nuevo tamaño de imagen.
¿Qué función puedo usar en un complemento para obtener las dimensiones de cada tamaño de imagen (en una matriz preferiblemente) que se define en un tema secundario?
Solo para aclarar, no estoy preguntando cómo crear un nuevo tamaño de imagen.
Respuestas:
Lo encontré aquí . La respuesta es:
global $_wp_additional_image_sizes;
print '<pre>';
print_r( $_wp_additional_image_sizes );
print '</pre>';
functions.php
archivo no funcionará, pero péguelo en cualquiera de sus funciones en ese archivo y debería funcionar.
Si solo necesita los nombres de todos los tamaños de imagen, puede usar get_intermediate_image_sizes :
<pre>
<?php print_r(get_intermediate_image_sizes()); ?>
</pre>
El núcleo de WordPress no tiene un método nativo para obtener tamaños de imagen intermedios (es decir, ancho y alto), pero la siguiente función auxiliar obtendrá todos los tamaños de imagen registrados junto con sus dimensiones:
/**
* Get all the registered image sizes along with their dimensions
*
* @global array $_wp_additional_image_sizes
*
* @link http://core.trac.wordpress.org/ticket/18947 Reference ticket
*
* @return array $image_sizes The image sizes
*/
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;
}
Lo que arrojará 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] =>
)
)
$default_image_sizes = get_intermediate_image_sizes();
ya que hay un medium_large
tamaño desde WP 4.4.
Si la otra respuesta no funcionó, use este código, por lo que se ejecutará después de que se inicialice WordPress.
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>';
}