// カスタム投稿タイプ別サムネイルサイズの設定
$img_size = array(
// 新着情報
'news_thumbnail' =>array( 120 , 120 , true ), // ( width, height, トリミング )
// お客様の声
'voice_thumbnail' =>array( 260 , 200 , true ),
// テーブル
'table_thumbnail' =>array( 160 , 160 , true ),
'table_medium' =>array( 300 , 300 , false ),
'table_large' =>array( 550 , 500 , false ),
'bed_more' =>array( 550 , 0 , false , 'name'=>'追加画像:幅550pxサイズ', 'selectable'=>true ),
// チェア
'chair_thumbnail' =>array( 120 , 160 , true ),
'chair_medium' =>array( 240 , 320 , false ),
'chair_large' =>array( 450 , 500 , false ),
'chair_more' =>array( 450 , 0 , false , 'name'=>'追加画像:幅450pxサイズ', 'selectable'=>true )
);
foreach( $img_size as $key => $value ){
add_image_size( $key , $value[0] , $value[1] , $value[2] );
}
// 追加した画像サイズを記事本文に挿入可能に
function add_custom_image_size_select( $img_size_names ) {
global $img_size;
$custom_sizes = get_intermediate_image_sizes();
foreach ( $custom_sizes as $custom_size ) {
if ( isset( $img_size[$custom_size]['selectable'] ) && $img_size[$custom_size]['selectable'] ) {
$img_size_names[$custom_size] = $img_size[$custom_size]['name'];
}
}
return $img_size_names;
}
add_filter( 'image_size_names_choose', 'add_custom_image_size_select' );
// 不要なサイズの画像生成を除外
add_filter( 'intermediate_image_sizes', function($sizes){
$type = get_post_type($_REQUEST['post_id']);
foreach($sizes as $key => $value){
// 固定ページ
if( $type=='page' and $value=='thumbnail' ) { continue; }
if( $type=='page' and $value=='medium' ) { continue; }
if( $type=='page' and $value=='large' ) { continue; }
// 投稿(スタッフブログ)
if( $type=='post' and $value=='thumbnail' ) { continue; }
if( $type=='post' and $value=='medium' ) { continue; }
if( $type=='post' and $value=='large' ) { continue; }
// 新着情報
if( $type=='news' and $value=='news_thumbnail' ) { continue; }
if( $type=='news' and $value=='thumbnail' ) { continue; }
if( $type=='news' and $value=='medium' ) { continue; }
if( $type=='news' and $value=='large' ) { continue; }
// セール情報
if( $type=='sale' and $value=='thumbnail' ) { continue; }
if( $type=='sale' and $value=='medium' ) { continue; }
if( $type=='sale' and $value=='large' ) { continue; }
// お客様の声
if( $type=='voice' and $value=='voice_thumbnail' ) { continue; }
// テーブル
if( $type=='table' and $value=='table_thumbnail' ) { continue; }
if( $type=='table' and $value=='table_medium' ) { continue; }
if( $type=='table' and $value=='table_large' ) { continue; }
if( $type=='table' and $value=='table_more' ) { continue; }
// チェア
if( $type=='chair' and $value=='chair_thumbnail' ) { continue; }
if( $type=='chair' and $value=='chair_medium' ) { continue; }
if( $type=='chair' and $value=='chair_large' ) { continue; }
if( $type=='chair' and $value=='chair_more' ) { continue; }
unset($sizes[$key]);
}
return $sizes;
});
One Comment
Comments are closed.