WordPressで画像のサイズに上限を設ける


久しぶりの更新。

WordPressは、画像をアップロードすると3種類のサイズの縮小画像を生成するが、オリジナルの画像が、そのままのサイズで保存されるためLightboxなどを使う際に、あらかじめリサイズして投稿する必要がある。

お客様向けにWordPressを納入する際には、余計な説明が必要になってしまうので、いろいろと面倒だということで、オリジナルの画像も”大サイズ”でリサイズすることにした。

オリジナル画像は、管理画面の「設定」-「メディア」の「大サイズ」で指定したサイズにリサイズする。

(上記の例では640px*500px以内)

ソース

以下のソースをテーマファイルのfunctions.phpに挿入するか、プラグインとして保存してください。

add_filter('wp_handle_upload', 'my_resize_image');

function my_resize_image($file) {
    $w = intval(get_option('large_size_w'));
    $h = intval(get_option('large_size_h'));
    $new = image_resize($file['file'], $w, $h);
    if (is_file($new)) {
      rename($new, $file['file']);
    }
    return $file;
}

追伸

(6/14)画像が設定値よりも小さくてリサイズしなかったときには、image_resize()関数は戻り値がfalseになっていることが判明したため、ファイルの有無を確認するための条件式を追加しました。


関連する記事

4 thoughts on “WordPressで画像のサイズに上限を設ける

  1. Pingback: Wordpressでデジカメ画像をリサイズしてアップロード

  2. Pingback: wordpressで画像をupするとき、デフォルトサイズのファイルをサーバに置かない - 紺碧の空2~wordpressと知床・斜里life~

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>