wp_update_image_subsizes()


WordPressのwp_update_image_subsizes()関数は、画像のサブサイズ(リサイズされたバージョン)を生成または更新するために使用されます。アップロードされた画像に対して、登録されているサイズ(サムネイル、中サイズなど)を作成します。

構文

wp_update_image_subsizes( int $attachment_id, array $metadata = null );

引数の説明:

  • $attachment_id(int)—メディアライブラリ内の画像の添付ファイルID。
  • $metadata(array)—既存の画像メタデータ。省略可能。

例1: 基本的なサブサイズの更新

指定された添付ファイルIDの画像サブサイズを更新します。

wp_update_image_subsizes(get_post_thumbnail_id());

例2: カスタムメタデータを使用してサブサイズを生成

既存のメタデータを渡してサブサイズを再生成します。

$metadata = wp_get_attachment_metadata($attachment_id);wp_update_image_subsizes($attachment_id,$metadata);

例3: 特定の投稿のサムネイルを更新

投稿のサムネイル画像のサブサイズを更新します。

wp_update_image_subsizes(get_post_thumbnail_id(get_the_ID()));

例4: アップロード直後の画像処理

フックを使用してアップロード後に自動的にサブサイズを更新します。

add_action('add_attachment','function($post_id){wp_update_image_subsizes($post_id);}');

例5: バッチ処理でのサブサイズ更新

複数の画像をループ処理してサブサイズを更新します。

$attachments=get_posts(array('post_type'=>'attachment','posts_per_page'=>-1));foreach($attachments as $attachment){wp_update_image_subsizes($attachment->ID);}

例6: メタデータなしでサブサイズを強制生成

メタデータを省略して強制的にサブサイズを生成します。

wp_update_image_subsizes($attachment_id);

例7: エラーハンドリング付きのサブサイズ更新

関数の実行結果をチェックしてエラーを処理します。

if(false===wp_update_image_subsizes($attachment_id)){error_log('サブサイズの更新に失敗しました');}

注意点

  • この関数はサーバーのリソースを消費する可能性があります。
  • 大量の画像を処理する場合はタイムアウトに注意してください。
  • サブサイズの生成には元画像ファイルが必要です。

関連機能: