Quelle fonction puis-je utiliser dans un plugin pour obtenir les dimensions de chaque taille d'image (dans un tableau de préférence) définie dans un thème enfant?
Juste pour clarification, je ne demande pas comment créer une nouvelle taille d'image.
Quelle fonction puis-je utiliser dans un plugin pour obtenir les dimensions de chaque taille d'image (dans un tableau de préférence) définie dans un thème enfant?
Juste pour clarification, je ne demande pas comment créer une nouvelle taille d'image.
Réponses:
Je l'ai trouvé ici . La réponse est:
global $_wp_additional_image_sizes; 
print '<pre>'; 
print_r( $_wp_additional_image_sizes ); 
print '</pre>';functions.phpfichier ne fonctionnera pas, mais collez-le dans l'une de vos fonctions dans ce fichier et cela devrait fonctionner.
                    Si vous n'avez besoin que des noms de toutes les tailles d'image, vous pouvez utiliser get_intermediate_image_sizes :
<pre>
<?php print_r(get_intermediate_image_sizes()); ?>
</pre>Le noyau WordPress n'a pas de méthode native pour obtenir des tailles d'image intermédiaires (c'est-à-dire largeur et hauteur), mais la fonction d'assistance suivante obtiendra toutes les tailles d'images enregistrées ainsi que leurs dimensions:
/**
 * 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;
}Qui produira des résultats similaires à:
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();car il y a une medium_largetaille depuis WP 4.4.
                    Si l'autre réponse n'a pas fonctionné, utilisez ce code, il s'exécutera donc après l'initialisation de 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>';
}