1つのカスタム投稿タイプについてのみ、おすすめ画像のサイズを変更したいです。これは私が現在持っているものです:
function custom_admin_thumb_size($thumb_size){
global $post_type;
if( 'slider' == $post_type ){
return array(1000,400);
}else{
return array(266,266);
}
}
add_filter( 'admin_post_thumbnail_size', 'custom_admin_thumb_size');
この関数は私が期待していたことをしますが、他のものに触れずにカスタムの投稿タイプを「スライダー」と呼ぶよりよい方法があるかどうか疑問に思いました。
前もって感謝します
admin_post_thumbnail_size
は3つのパラメータを取ります。
$ thumb_size:フィルタで何もしない場合は、Thumb Sizeを選択します。
$ thumbnail_id:サムネイルの添付ファイルID。
$ post:関連付けられているWP_Postインスタンス
それであなたはあなたのCODEでより良いコントロールを持つためにこれらのパラメータを利用するかもしれません。以下のようにコードを使用してください。
function custom_admin_thumb_size( $thumb_size, $thumbnail_id, $post ) {
if( 'slider' === $post->post_type ) {
return array( 1000, 400 );
}
return $thumb_size;
}
add_filter( 'admin_post_thumbnail_size', 'custom_admin_thumb_size', 10, 3);
特定のpost_typeだけにこれを実行するためのフィルタはありませんが、基本的に1行のコードを保存するためにget_post_type( esc_attr( $_GET['post'] ) )
を使用できます。
いずれにしてもifステートメントにはリターンがないので、elseステートメントを取り出すこともできます。それ以外は、これは基本的にあなたがすることです。
function custom_admin_thumb_size( $thumb_size ){
if( 'slider' == get_post_type( esc_attr( $_GET['post'] ) ) ) {
return array( 1000, 400 );
}
return array( 266, 266);
}
add_filter( 'admin_post_thumbnail_size', 'custom_admin_thumb_size' );