Quale funzione posso usare in un plugin per ottenere le dimensioni di ogni dimensione di immagine (preferibilmente in un array) che è definita in un tema figlio?
Solo per chiarimenti non sto chiedendo come creare una nuova dimensione dell'immagine.
Quale funzione posso usare in un plugin per ottenere le dimensioni di ogni dimensione di immagine (preferibilmente in un array) che è definita in un tema figlio?
Solo per chiarimenti non sto chiedendo come creare una nuova dimensione dell'immagine.
Risposte:
L'ho trovato qui . La risposta è:
global $_wp_additional_image_sizes;
print '<pre>';
print_r( $_wp_additional_image_sizes );
print '</pre>';
functions.php
file non funzionerà, ma inseriscilo in una qualsiasi delle tue funzioni in quel file e dovrebbe funzionare.
Se hai bisogno solo dei nomi di tutte le dimensioni dell'immagine, puoi usare get_intermediate_image_sizes :
<pre>
<?php print_r(get_intermediate_image_sizes()); ?>
</pre>
Il core di WordPress non ha un metodo nativo per ottenere dimensioni di immagine intermedie (cioè larghezza e altezza), ma la seguente funzione di supporto otterrà tutte le dimensioni di immagine registrate insieme alle loro dimensioni:
/**
* 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;
}
Che produrrà risultati simili 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();
quanto esiste una medium_large
dimensione dal WP 4.4.
Se l'altra risposta non ha funzionato, utilizza questo codice, quindi verrà eseguito dopo l'inizializzazione di 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>';
}