Cách tạo kích thước hình ảnh được chọn theo mặc định trong Tải lên phương tiện - WP v3.5


12

Trần với tôi. Tôi muốn có kích thước hình ảnh tùy chỉnh được chọn theo mặc định trong trang bật lên Tải lên phương tiện. Trong Wordpress v3.4.2 trở về trước, mã thanh lịch này hoạt động tốt:

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

Vì vậy, my_insert_custom_image_sizesthêm hình ảnh tùy chỉnh vào trang phương tiện và my_set_default_image_sizenên chọn custom-image-size-2kích thước. Mã này đã ngừng hoạt động với phiên bản Wordpress 3.5. Bạn có biết làm thế nào tôi có thể thực hiện điều này trong phiên bản 3.5 không?


điều này không trực tiếp trả lời câu hỏi của bạn nhưng là là loại liên quan: stackoverflow.com/questions/13936080/...
janw

Câu trả lời:


2

Thử thứ này đi. Đối số thứ hai của add_filter () của bạn là một hàm, điều này sẽ ảnh hưởng đến tùy chọn hiện tại thông qua trả về:

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

Bạn cũng có thể xem xét bộ lọc pre_update_option _ {$ tùy chọn} và cập nhật giá trị một lần, vì vậy bạn không cần chạy bộ lọc này mỗi lần (có thể tiết kiệm 0,01 giây, nhưng vẫn tiết kiệm!) :)

hoặc update_option () cũ :

update_option( 'image_default_size', 'custom-image-size-2' );

0

Thêm chức năng vào tệp tin.php của theme.

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

Sử dụng Kích thước hình ảnh mới Trong các tệp mẫu của chủ đề.

if ( has_post_thumbnail() ) { the_post_thumbnail( 'category-thumb' ); }
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.