使用WordPress 3.5中的新媒体管理器自定义图像大小

时间:2012-12-15 作者:Asaf Chertkoff

上次更新打破了我的工作流程,因为在媒体管理器中使用自定义图像大小的方法已经发生了明显的变化。

我正在尝试将以前注册的图像大小添加到新的下拉列表中。

3 个回复
SO网友:Christine Cooper

您需要粘贴您的代码,以便我们查看问题所在,但是,我可以在Wordpress v3中演示如何实现这一点。5.

请遵守中的注释my_insert_custom_image_sizes:

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


function custom_image_setup () {
    add_theme_support( \'post-thumbnails\' );
    add_image_size( \'custom-image-size-1\', 160, 9999 ); //  small 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_action( \'after_setup_theme\', \'custom_image_setup\' );
请注意,我正在添加my_insert_custom_image_sizes 中的筛选器after_setup_theme 这是一个很好的做法。

SO网友:Rezen

假设您在中添加了自定义图像大小after_setup_theme 它的id如下所示。。。

... add_image_size( \'other-thumb\', 240, 200, true ); 
您可以添加一个过滤器,将大小添加到新媒体管理器中的大小列表中。只需确保在下拉列表中输入id/slug,然后输入您想要的标题和wallah!

// Add other image size options to insert image dialog
add_filter(\'image_size_names_choose\', \'xf_more_sizes\', 4, 1);
function xf_more_sizes($sizes){
   $sizes[\'other-thumb\'] = __(\'Othernail\');
   return $sizes;
}

SO网友:Stanislau Ladutska

这对我很有帮助:

function setup_image_sizes() {

    if ( function_exists( \'add_image_size\' ) ) {

        add_image_size( \'image-retina\', 576, 320, true );
    }

    function pc_image_sizes($sizes){

        $sizes[\'image-retina\'] = __(\'Image\');
        return $sizes;
    }

    add_filter(\'image_size_names_choose\', \'pc_image_sizes\');
}

add_action( \'after_setup_theme\', \'setup_image_sizes\' );

结束