AmazonJSでAmazonの商品画像をWordPressのアイキャッチ画像に設定したい

AmazonJSプラグインでAmazonの商品画像をアイキャッチ画像に使いたい。という要望があったので調べてみた。結論から言うと難しそうだ。

アイキャッチ画像

アイキャッチ画像はWordPress 2.9, 3.0あたりから追加された機能で原文ではFeatured Imagesと呼ばれている。要するにブログの記事の目を惹くために記事ごとにサムネイル画像をつける機能のことである。一時期使ってみたい気もあったが、このブログだと過去のエントリーが多すぎて今更サムネイル画像ありきのレイアウトにするのが難しいので諦めていた。

ただ商品画像をアイキャッチ画像に使えると本や製品の紹介などをする記事ではだいぶ効果がありそう俺も使いたいと思い、完全に失念しているのでアイキャッチ画像の仕様について調べてみた。

アイキャッチ画像が表示されるまで

アイキャッチ画像を表示するには以下のような流れになる。

  • 使う画像がWordPressのメディアライブラリにある
  • アイキャッチ画像としてその投稿に設定されている
  • テーマが投稿に設定されているアイキャッチ画像を取り出して表示する

1番目、2番目がブログを書く人の作業で、3番目がテーマのお仕事となる。テーマが対応していないといくら投稿者がアイキャッチ画像を設定しても表示はされない。

課題

AmazonJSプラグインがアイキャッチ画像を設定するには技術的な課題と、契約的な問題がある。

アイキャッチ画像はテーマが表示するサイズを決めることができる、画像リサイズもあるせいかWordPressのメディア機能に関連しておりアイキャッチ画像に使うものはメディアライブラリに画像が登録されていないといけないっぽい。つまり、ただのURLをアイキャッチ画像に設定することはWordPressの標準機能ではできないようだ。1プラグインが勝手にメディアライブラリに画像を突っ込むのはやり過ぎなのでこの時点で自動化はほぼ厳しい。

自動以外でユーザにアイキャッチ画像として使うオプションを提供することはできると思うが契約の問題がある。僕は同意して使っているからには Product Advertising APIの契約 をAmazonJSユーザは守るべきと考えており、APIの契約の中には商品データを永続的にキャッシュしていけないと書いてあるので画像データをメディアライブラリに突っ込むのは微妙なところである。(AmazonJSではデータを24時間キャッシュ、価格について取得日時を表示するというガイドラインを守っている)

2つの側面からなかなか一筋縄にはいかないようだ。