WordPressのサムネイル再生成プラグイン – Regenerate Thumbnails

WordPressでサーバへの負荷軽減の為にフルサイズ画像のみ生成するように設定していたのですがサムネイル画像を使用する必要が出てきたのでサムネイル画像再生成の方法についてシェアしたいと思います。

前置き

WordPressのデフォルトのメディアの設定は以下の通りになっておりサムネイル、中サイズ、大サイズ、フルサイズが生成され “wp-content/uploads/YYYY/MM/”に格納されます。

またこの値を全て0にすることでフルサイズのみ生成することも可能です。

この時データベースの wp_postmeta > _wp_attachment_metadata に次のように画像のサイズやそれに対するファイル名、Exif情報等が格納されます。当然メディア設定でフルサイズのみを生成した場合には、thumbnail、medium等の情報はなくなります。

a:6:{s:5:"width";s:3:"584";s:6:"height";s:3:"438";s:14:"hwstring_small";s:23:"height='96' width='128'";s:4:"file";s:13:"wckobe-01.jpg";s:5:"sizes";a:5:{s:9:"thumbnail";a:3:{s:4:"file";s:21:"wckobe-01-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:21:"wckobe-01-300x225.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"225";}s:14:"post-thumbnail";a:3:{s:4:"file";s:21:"wckobe-01-584x288.jpg";s:5:"width";s:3:"584";s:6:"height";s:3:"288";}s:13:"large-feature";a:3:{s:4:"file";s:21:"wckobe-01-584x288.jpg";s:5:"width";s:3:"584";s:6:"height";s:3:"288";}s:13:"small-feature";a:3:{s:4:"file";s:21:"wckobe-01-400x300.jpg";s:5:"width";s:3:"400";s:6:"height";s:3:"300";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}

ここに格納されたデータの使用例としては以下のようにwp_get_attachment_image_srcでサイズを指定した時の画像URLの取得等に利用されます。

<?php
$attachment_id = 1;
$image = wp_get_attachment_image_src( $attachment_id, 'thumbnail' );
?>
<img src="<?php echo $image[0]; ?> width="<?php echo $image[1]; /> height="<?php echo $image[2]; ?> />

本題

上述した通り_wp_attachment_metadataの情報は画像をアップロードした時点で設定されるため、初期のメディア設定でフルサイズのみを生成する、としてあとからサムネイル画像を使用したいとなっても当然サムネイル画像URLは取得できず、フルサイズ画像のURLが取得されてしまいます。

そこでRegenerate Thumbnailsプラグインを用いてサムネイル画像再生成及び_wp_attachment_metadata情報更新を行いたいと思います。
Regenerate Thumbnails

使い方は以下の通り。

  1. Regenerate Thumbnailsプラグインをインストール、有効化。
  2. 設定 > メディア で画像サイズを再設定。
  3. ツール > Regen. Thumbnails でRegenerate All Thumbnailsを押下。
  4. 再生成中・・・

wp-content/uploads/フォルダを見てみるとメディア設定で指定したサイズの画像が再生成されていると思います。
また、_wp_attachment_metadataの情報も更新されています。

WordCamp Kobe 2011に参加してきました。

9/11に神戸芸術工科大学で開催されたWordCamp Kobe 2011に参加してきました。
今回のWordCampは事前エントリー700人強、参加人数600人弱という国内最大、世界でもサンフランシスコに次ぐ位の規模になったそうです。
神戸芸術工科大学

受付を終えてスポンサーブースではプライム・ストラテジー株式会社さんがWordPressアメを提供していたり、株式会社インターネットイニシアティブさんが「わぷーマグカップ」300個大盤振る舞いしたりしていました。
WordPressアメ
わぷーマグカップ

こちらは場内マップにわぷーを描かれているおでさん

WordCamp本編は午後からだったのですが、午前中はアンカンファレンスでテーマ毎にグループに分かれての討論会があったのでこちらにも参加。
どんどんとテーマが発表されて早々にどれかに参加しないと最後まで残ってしまうという方式だったので私はWordBench福井の森川さん企画の「勉強会について」に参加することに。
10名ほどの少人数でしたがWordPress界隈のあんな人こんな人が、という豪華な面々と共にWordBeachの勉強会についてやプラグインなんかについての議論が繰り広げられ非常に刺激的な内容でした。(私はあまり発言ができず聞いてばかりでしたが・・・)
WordCamp Kobe 2011
Creative Commons License credit: naokomc

WordBench香川でも何かしないといけないけれど、「勉強会」と銘打つと重苦しいからとりあえず県内or四国内でWordPress好きな人や使っている人を集めてどんなことに興味があるか聞いてみたりしてみたいです。

こちらはアンカンファレンスの説明の際の世界のみよしさん確認さんのやり取り?

本編はさすがに来場者も多くなり立見や行列が出来るセッションもあったりして疲れてしまったので、いくつかのセッションを回ったのみでGenius Barで涼みつつゆりこさんが質問に答えてるのを聞いたりマクラケン直子さんのハンズオンに参加してみたりしました。
見れなかったセッションがたくさんあるのでアーカイブ配信に期待。

こちらは大会議室で行われたマクラケン直子さんによる「WordPress の最新事情」の様子。

今回は運良く懇親会にも参加出来たのですが、私が人見知りなせいか、他の方のテンションが高すぎるせいか若干ついていけず・・・
ゆりこさんの飛び込みLT、13歳以上閲覧可の「WPで作るえっちサイト」やスライドに常時写される煽り?のテキストはかなり笑わせて貰いました。

飛び込みLTで次回WordCampが東京開催予定と発表されていたけど金銭的、地理的に参加が難しそうなので次回はUstream視聴での参加となりそうです。

本編LTで森川さんがWordCampならぬWordCrab Fukuiの告知をされていたけど行けるものなら是非参加したいです。香川からだとどうやっていけばいいかも不明ですが・・・
蟹・・・。

今回のWordCamp Kobe 2011は多くの人と出会えて交流ができてとても楽しいイベントでした!
お決まりの言葉になってしまいますけどスタッフ、スピーカー、スポンサー、参加者の皆さんありがとうございました。

WordBeachに参加してきました。

8/27に中部国際空港で「ポケモンセンターなつまつりinセントレア」が開催。
ピースジェット運行、ポケモントレイン大集合でこれは行かねばと計画を立てていたところに同日WordBeachが開催されるとのことだったのでせっかくなので参加してきました。

WordBeachは8/27-28にかけて本編・懇親会・合宿という3部構成でしたが申込時点で本編以外は定員に達していた事もあり本編のみの参加となりました。

本編内容は初心者向け・中上級者向けセッションが各4つづつ、超小心者向けのデスマワースショップ(スケジュール及び各セッションスライド・Ustreamアーカイブはこちら)。

受講したセッションと雑感は以下の通り。

WordPress のよくある疑問と誤解を解決します! | マクラケン直子さん

日本WordPressのドンことマクラケン直子さんのセッション。WordPress.orgとWordPress.comの違いやWordPressが今後どういう風に進化していくかといった興味深い話。
いろいろ為になる内容だったはずなんだけどセッション後半・質疑応答がわぷーに集中したせいか、わぷーの印象が・・・。
休み時間に質問と名刺交換をさせて頂きました。
日本語環境におけるWordPress の高速化 | 中村けん牛さん
サーバスペックや設置場所による速度の違いや日本語環境だと翻訳に負荷が掛かっているのでそれらを改善しようというお話。
普段の案件は基本的にレンタルサーバなのでサーバスペックをそれほど気にしたことがなかったけど比較を見たら全然変わってくるな、と。
VPS導入はまだ敷居が高そうなので無理だけど001 Prime Strategy Translate Acceleratorプラグインは常備プラグインになりそう。
制作効率を格段に向上させる WordPress の活用方法 | 福山カズヒデさん
大手Web制作会社の多くはCMSを使っていないけどWordPress導入して制作効率を上げようぜ!というお話。
確かに大手Web制作会社は独自のシステムを構築しており外部からWordPressの良さを伝えてもWordPressにシフトしにくい、という印象。そこで侍ジャイアンツ作戦なのだが自分の立場では何も出来ないので大手Web制作会社に勤める内部の人がんばってください。
当日のTwitterTLでもあったけど紹介されていたシステムを是非とも公開して欲しい。
カスタム投稿タイプ、カスタム分類、カスタムフィールドを活用したサイト構築例 | 石川栄和さん
使用する機会が多いから一番期待していたセッション。
「カスタムフィールドの利用例」や「カスタム分類のパーマリンクの調整」の項が特に参考になりました。
質疑応答でカスタム投稿タイプのアーカイブページのURL”http://example.com/2011?post_type=info”を”http://example.com/info/2011/”にするには?という質問をさせて頂きました。アーカイブページに限らずカスタム投稿タイプを用いた場合のパーマリンクが想定通りに行かないのは自分のスキル不足が原因だけどこれは何とかしたい。

まとめ

WordPressの最前線に居られる方々の話を聞けてとても刺激的な一日でした。
スタッフ、スピーカー、スポンサー、参加者の皆さんありがとうございました。

次回9/11「WordCamp Kobe 2011」は9/2現在で600人と国内のWordPressイベントとしては最大規模らしいので香川県内のWPerのみなさんもぜひ参加してみてはいかがでしょうか。

* * *