미디어 업로드에서 기본적으로 이미지 크기를 선택하는 방법-WP v3.5


12

나와 함께 미디어 업로드 팝업 페이지에서 기본적으로 사용자 정의 이미지 크기를 선택하고 싶습니다. Wordpress v3.4.2 및 이전 버전 에서이 우아한 코드는 정상적으로 작동했습니다.

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

따라서 my_insert_custom_image_sizes사용자 정의 이미지를 미디어 페이지에 추가 my_set_default_image_size하고 custom-image-size-2크기를 선택해야 합니다. 이 코드는 Wordpress 3.5 버전에서 작동을 멈췄습니다. v3.5에서 어떻게이 작업을 수행 할 수 있는지 알고 있습니까?


이 직접 종류의 관련입니다 귀하의 질문에 대답 만하지 않습니다 stackoverflow.com/questions/13936080/...
janw

답변:


2

이것을 시도하십시오. 귀하의 add_filter는 ()의 그 반환을 통해 현재 옵션에 영향을 미칠 것입니다, 두 번째 인수는 함수입니다 :

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

pre_update_option _ {$ option} 필터를 살펴보고 값을 한 번 업데이트하면 매번이 필터를 실행할 필요가 없습니다 (0.01을 저장할 수 있지만 여전히 저장 중입니다!) :)

또는 좋은 오래된 update_option () :

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

0

테마의 functions.php 파일에 함수를 추가하십시오.

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

테마의 템플릿 파일 내에서 새 이미지 크기 사용

if ( has_post_thumbnail() ) { the_post_thumbnail( 'category-thumb' ); }
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.