Cómo hacer que un tamaño de imagen se seleccione de forma predeterminada en Carga de medios - WP v3.5

12

Desnudo conmigo. Quiero tener un tamaño de imagen personalizado seleccionado de forma predeterminada en la página emergente de carga de medios. En Wordpress v3.4.2 y anteriores, este elegante código funcionó bien:

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' );

Entonces, my_insert_custom_image_sizes agrega las imágenes personalizadas a la página de medios y my_set_default_image_size debería seleccionar el tamaño custom-image-size-2 . Este código dejó de funcionar con la versión de Wordpress 3.5. ¿Sabes cómo puedo lograr esto en v3.5?

    
pregunta Christine Cooper 15.12.2012 - 16:40

2 respuestas

2

Prueba esto. El segundo argumento de add_filter () es una función, que afectará la opción actual a través de una devolución:

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

También puede buscar en el filtro pre_update_option _ {$ option} y actualizar el valor una vez, por lo que no lo hace. t necesita ejecutar este filtro cada vez (puede ahorrar 0.01s, pero aún se está guardando!) :)

o bien update_option () :

update_option( 'image_default_size', 'custom-image-size-2' );
    
respondido por el Eric Holmes 31.01.2013 - 15:36
0

Agregue la función al archivo functions.php del tema.

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

Usando los nuevos tamaños de imagen Dentro de los archivos de plantilla de un tema.

if ( has_post_thumbnail() ) { the_post_thumbnail( 'category-thumb' ); }
    
respondido por el Selva Balaji 27.12.2012 - 08:14

Lea otras preguntas en las etiquetas