久しぶりの更新。
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になっていることが判明したため、ファイルの有無を確認するための条件式を追加しました。
WordPressで画像のサイズに上限を設ける http://firegoby.theta.ne.jp/archives/993 やってみるなう。
This comment was originally posted onTwitter
おお、素晴らしい、上手くいった。firegobyさま、ありがとう!
:WordPressで画像のサイズに上限を設ける: http://t.co/SH4yS97
This comment was originally posted onTwitter
Pingback: Wordpressでデジカメ画像をリサイズしてアップロード
Pingback: wordpressで画像をupするとき、デフォルトサイズのファイルをサーバに置かない - 紺碧の空2~wordpressと知床・斜里life~