WordPressでメディアのサイズを追加する方法

WordPressで画像の自動リサイズに、新しいサイズを追加するには、以下をfunction.phpに以下を追加します。

「add_custom_image_size_select」の部分で、投稿画面の「メディアを追加」のサイズ選択肢にも追加します。

function add_custom_image_sizes() {
    global $my_custom_image_sizes;
    $my_custom_image_sizes = array(
        'x-small' => array(
            'name'       => '650', // 選択肢のラベル名
            'width'      => 650,    // 最大画像幅
            'height'     => 9999,    // 最大画像高さ
            'crop'       => false,  // 切り抜きを行うかどうか
            'selectable' => true   // 選択肢に含めるかどうか
        ),
    );
    foreach ( $my_custom_image_sizes as $slug => $size ) {
        add_image_size( $slug, $size['width'], $size['height'], $size['crop'] );
    }
}
add_action( 'after_setup_theme', 'add_custom_image_sizes' );

function add_custom_image_size_select( $size_names ) {
    global $my_custom_image_sizes;
    $custom_sizes = get_intermediate_image_sizes();
    foreach ( $custom_sizes as $custom_size ) {
        if ( isset( $my_custom_image_sizes[$custom_size]['selectable'] ) && $my_custom_image_sizes[$custom_size]['selectable'] ) {
            $size_names[$custom_size] = $my_custom_image_sizes[$custom_size]['name'];
        }
    }
    return $size_names;
}
add_filter( 'image_size_names_choose', 'add_custom_image_size_select' );

参考: http://www.warna.info/archives/2270/