Cara membuat ukuran gambar dipilih secara default di Upload media - WP v3.5

12

Telanjang dengan saya. Saya ingin memiliki ukuran gambar khusus dipilih secara default di halaman popup Upload media. Di Wordpress v3.4.2 dan sebelumnya, kode elegan ini berfungsi dengan baik:

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

Jadi, my_insert_custom_image_sizestambahkan gambar khusus ke halaman media dan my_set_default_image_sizeharus memilih custom-image-size-2ukuran. Kode ini berhenti bekerja dengan versi Wordpress 3.5. Apakah Anda tahu bagaimana saya bisa menyelesaikan ini di v3.5?

Christine Cooper
sumber
ini tidak secara langsung menjawab pertanyaan Anda tetapi agak terkait: stackoverflow.com/questions/13936080/…
janw

Jawaban:

2

Coba ini. Anda add_filter () 's argumen kedua adalah fungsi, yang akan mempengaruhi pilihan saat ini melalui return:

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

Anda juga dapat melihat filter pre_update_option _ {$ option} , dan memperbarui nilainya sekali, jadi Anda tidak perlu menjalankan filter ini setiap kali (dapat menghemat 0,01, tetapi tetap menyimpan!) :)

atau update_option lama yang baik () :

update_option( 'image_default_size', 'custom-image-size-2' );
Eric Holmes
sumber
0

Tambahkan fungsi ke file functions.php 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)
}

Menggunakan Ukuran Gambar Baru Dalam file template tema.

if ( has_post_thumbnail() ) { the_post_thumbnail( 'category-thumb' ); }
Selva Balaji
sumber