_wp_make_subsizes()


WordPressの_wp_make_subsizes()関数は、アップロードされた画像からサブサイズ(縮小版)を生成するために使用されます。

構文

_wp_make_subsizes( array $new_sizes, string $file, int $attachment_id, string $mime_type );

引数の説明:

  • $new_sizes(array)—生成するサブサイズの配列。
  • $file(string)—元画像のファイルパス。
  • $attachment_id(int)—添付ファイルのID。
  • $mime_type(string)—画像のMIMEタイプ。

例1:基本的なサブサイズ生成

アップロード時にデフォルトのサブサイズを生成します。

add_filter('intermediate_image_sizes_advanced','_wp_make_subsizes');

例2:カスタムサイズの追加

新しい画像サイズを登録し、サブサイズを生成します。

add_image_size('custom-size',300,200,true);_wp_make_subsizes(array('custom-size'),get_attached_file($post_id),$post_id,get_post_mime_type($post_id));

例3:特定の添付ファイルのみ処理

指定した添付ファイルIDに対してサブサイズを生成します。

_wp_make_subsizes(get_intermediate_image_sizes(),get_attached_file(123),123,'image/jpeg');

例4:MIMEタイプのフィルタリング

JPEG画像のみを処理対象とします。

if($mime_type==='image/jpeg'){_wp_make_subsizes($sizes,$file,$attachment_id,$mime_type);}

例5:サブサイズ生成の無効化

特定の条件下でサブサイズ生成をスキップします。

remove_filter('intermediate_image_sizes_advanced','_wp_make_subsizes');

例6:フックを使用したカスタマイズ

画像処理前にサイズ配列を変更します。

add_filter('intermediate_image_sizes_advanced',function($sizes){return array('thumbnail');});

例7:エラーハンドリング

サブサイズ生成時のエラーを捕捉します。

try{_wp_make_subsizes($sizes,$file,$attachment_id,$mime_type);}catch(Exception $e){error_log($e->getMessage());}

注意点

  • この関数は内部使用を目的としており、直接呼び出す場合は注意が必要です。
  • 大量の画像を処理する場合、サーバーリソースを消費する可能性があります。
  • 適切なファイルパーミッションが設定されていることを確認してください。

関連機能: