Comment créer une taille d'image sélectionnée par défaut dans le chargement de média - WP v3.5

12

Bare avec moi. Je souhaite qu'une taille d'image personnalisée soit sélectionnée par défaut dans la page contextuelle de téléchargement de média. Dans Wordpress v3.4.2 et les versions antérieures, ce code élégant fonctionnait parfaitement:

function my_insert_custom_image_sizes( $sizes ) {
    // get the custom image sizes
    global $_wp_additional_image_sizes;
    // if there are none, just return the built-in sizes
    if ( empty( $_wp_additional_image_sizes ) )
        return $sizes;

    // add all the custom sizes to the built-in sizes
    foreach ( $_wp_additional_image_sizes as $id => $data ) {
        // take the size ID (e.g., 'my-name'), replace hyphens with spaces,
        // and capitalise the first letter of each word
        if ( !isset($sizes[$id]) )
            $sizes[$id] = ucfirst( str_replace( '-', ' ', $id ) );
    }

    return $sizes;
}


// Which custom image size selected by default
function my_set_default_image_size () { 
     return 'custom-image-size-2';
}


function custom_image_setup () {
    add_theme_support( 'post-thumbnails' );
    add_image_size( 'custom-image-size-1', 160, 9999 ); //  columned
    add_image_size( 'custom-image-size-2', 300, 9999 ); //  medium
    add_image_size( 'custom-image-size-3', 578, 190, true ); //  cropped
    add_filter( 'image_size_names_choose', 'my_insert_custom_image_sizes' );
    add_filter( 'pre_option_image_default_size', 'my_set_default_image_size' );
}

add_action( 'after_setup_theme', 'custom_image_setup' );

Ainsi, my_insert_custom_image_sizes ajoute les images personnalisées à la page multimédia et my_set_default_image_size doit sélectionner la taille custom-image-size-2 . Ce code a cessé de fonctionner avec la version Wordpress 3.5. Savez-vous comment je peux accomplir cela dans la v3.5?

    
posée Christine Cooper 15.12.2012 - 16:40

2 réponses

2

Essayez ceci. Le second argument de votre add de est une fonction qui affectera l'option actuelle via un retour:

function theme_default_image_size() {
    return 'custom-image-size-2';
}
add_filter( 'pre_option_image_default_size', 'theme_default_image_size' );

Vous pouvez également consulter le filtre pre_update_option _ {$ option} et mettre à jour la valeur une fois, afin que vous ' pas besoin d’exécuter ce filtre à chaque fois (peut économiser 0,01s, mais cela économise quand même!):)

ou bon vieux update_option () :

update_option( 'image_default_size', 'custom-image-size-2' );
    
réponse donnée Eric Holmes 31.01.2013 - 15:36
0

Ajoutez la fonction au fichier functions.php du thème.

if ( function_exists( 'add_theme_support' ) ) {
    add_theme_support( 'post-thumbnails' );
        set_post_thumbnail_size( 150, 150 ); // default Post Thumbnail dimensions   
}


function custom_image_setup () {

        add_theme_support('post-thumbnails');
        set_post_thumbnail_size(640,320);

    add_image_size( 'custom-image-size-1', 180, 9999 ); //  columned
    add_image_size( 'custom-image-size-2', 350, 9999 ); //  medium
    add_image_size( 'custom-image-size-3', 600, 250, true ); //  cropped

    add_filter( 'image_size_names_choose', 'theme_custom_image_sizes' );
    add_filter( 'pre_option_image_default_size', 'theme_default_image_size' );
}


if ( function_exists( 'add_image_size' ) ) { 
    add_image_size( 'category-thumb', 300, 9999 ); //300 pixels wide (and unlimited height)
    add_image_size( 'homepage-thumb', 220, 180, true ); //(cropped)
}

Utilisation des nouvelles tailles d'image Dans les fichiers de modèle d'un thème.

if ( has_post_thumbnail() ) { the_post_thumbnail( 'category-thumb' ); }
    
réponse donnée Selva Balaji 27.12.2012 - 08:14

Lire d'autres questions sur les étiquettes