web-dev-qa-db-fra.com

Ajouter une taille de téléchargement d'image personnalisée et la rendre sélectionnée par défaut?

Comment puis-je ajouter une taille de téléchargement d'image personnalisée avec une largeur de 550 px et la faire sélectionner par défaut dans la page Ajouter un média?

Actuellement, il existe 4 tailles disponibles: Thumbnail, Medium, Large et Full Size. L'option Full Size est sélectionnée par défaut.

Quelqu'un connaît une solution de travail à cela?

5
Amanda Bynes

Comme je l’ai découvert aujourd’hui, il ya quelques étapes à suivre. Tout d'abord, vous ajoutez une taille d'image personnalisée (vous pouvez placer ceci quelque part dans le fichier functions.php de votre thème):

add_theme_support( 'post-thumbnails' );
add_image_size( 'my-size', 550, 550 ); // not sure what you want your height to
                                     // be, but this'll shrink it to 550px
                                     // wide *or* tall. If you want it to be
                                     // cropped to a 550px square, add true as
                                     // a fourth argument

Malheureusement, WordPress n’affiche pas cette nouvelle taille dans l’éditeur de média. Vous devrez également mettre une fonction qui le fait dans votre functions.php (source: http://kucrut.org/insert-image-with-custom-size-into-post/ ):

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;
}

// apply the above function as a filter on the media uploader's list of
// image sizes
add_filter( 'image_size_names_choose', 'my_insert_custom_image_sizes' );

Enfin, pour définir cette taille par défaut, vous devez modifier un paramètre WordPress. Ajouter un filtre sur le paramètre en question. Cela présente l'avantage d'être portable avec votre thème dans lequel vous avez défini toutes les options ci-dessus.

function my_set_default_image_size () {
    return 'my-size';
}
add_filter( 'pre_option_image_default_size', 'my_set_default_image_size' );

J'ai tout testé sur WordPress 3.4.2, et il semble bien fonctionner.

Note: Je recommanderais de mettre le code PHP ci-dessus dans une fonction init et de l'attacher au hook 'after_setup_theme':

// define the functions first
function my_insert_custom_image_sizes( $sizes ) {
    // not going to repeat the function body, for brevity's sake
}

function my_set_default_image_size() {
    // ditto
}

// define the init function next, which sets up all the necessary stuff
function custom_image_setup () {
    add_theme_support( 'post-thumbnails' );
    add_image_size( 'my-size', 550, 550 );
    add_filter( 'image_size_names_choose', 'my_insert_custom_image_sizes' );
    add_filter( 'pre_option_image_default_size', 'my_set_default_image_size' );
}

// and attach that init function to the 'after_setup_theme' hook
// so it runs on each page load once your theme's been loaded
add_action( 'after_setup_theme', 'custom_image_setup' );
7
Paul d'Aoust

Réglez simplement toutes les autres options sur 0 dans votre panneau d’administration sous "Paramètres" "" Médias ". Cela va les désactiver.

0
kaiser