要約:WordPressで手軽にAmazonアソシエイトを始められるプラグインです、付加機能もいっぱいあります。
いきさつ
wpj-amazonプラグインがある時期からうまく使えなくなってしまって、んじゃ本家WP-Amazonをいじるかなと思ったらどっこい、最新版はビジュアルエディタ中心になっていて、記事作成画面でビジュアルエディタを使わない人(=私)にとっては事実上、使えないようになっていました。
んで、どうしたもんかと思っていたんですが、そんなところに新たにAmazonプラグインを作っている方がいらっしゃいました。
で、早速ダウンロードして、いろいろ出力をいじってカスタマイズして使っていました。配布元に”JSeries” のライセンスは GPL
と書かれていましたので、同じくGPLで公開しておこうと思います。原版を公開されたともかめさん、Keith Devensさんなどライブラリを作られた作者さん方に感謝します。
このプラグインを使用するにはPHP5が動くサーバが必要です。amazon.co.jpのクリック数情報を取得するにはさらに perl / WWW::mechanize(perl) / PEAR::MDB2(PHP) が動くサーバが必要です。
ダウンロード
- ダウンロード
- Amazon Linkage プラグイン
- ライセンス
- lite.php: GNU LGPL
- amazon.php: GNU GPL v2
- その他
- WordPressに付属しているものはWordPressのライセンスに、その他はこのサイトのライセンスに準じます
オリジナルとの変更点
ちなみに、このプラグインは初回リリース版を改変して使用しているため、呼び出した商品一覧を見る機能などは実装されていませんのでご了承下さい。
今となっては本家で既に実装されている部分もありますが、主な変更点は以下の通りです。
- 商品の回り込み表示(左回りこみ、右回りこみ、キャプション風)機能
- テキスト出力機能
- タイトルを短くする機能
- 在庫のあるなしを表示する機能
- 商品に影を表示(表示しないようにすることも可能)
- 任意のカバー画像を設定することが可能
- サムネイルを作るようにした / キャッシュするようにした
- hReview(microformats)対応
- ニコニコ市場のようにクリック数・購入者情報を表示できる
- 国際化(amazon.co.jp限定なので意味なし?)
- 呼出方法を<amazon>ASIN</amazon>に変更した(本家で一部実装済み)
- 商品画像がない際、そうした旨の画像を添付するようにした(本家で実装済み)
- 呼び出せる商品を本とCDに限定しないようにした(本家で実装済み)
導入方法
ファイルを解凍後、ディレクトリごとwp-content/plugins/ディレクトリに入れてください。アップロード後、cacheディレクトリを書き込み可能(パーミッション777)にしたら、管理画面からプラグインを有効化してください。
導入についての補足情報を書きましたので、参考にしてください
使用方法
<amazon>ASIN(,type, extra image)</amazon>という形式で本文に挿入します。
ASINはAmazonの商品管理コードで、入力が必須です。表示したい各商品のASINを入力してください。ASINはamazon.co.jpの各商品ページの真ん中あたりにASIN または ISBNという表記で書いてあります。
typeは出力の方法についての設定で、入力は任意です。現在の所、以下のような値を取ります。
使用例
通常表示(無指定)
- エラー:サーバ側でエラーが発生しました、このページを再読込してください
何もオプションを指定せず、またはclearオプションを指定すると、以後の要素の回り込みをせず出力します。つまり、<amazon>ASIN,clear</amazon>で、カバー画像付きで出力します。これがデフォルトの設定です
左回りこみ
- エラー:サーバ側でエラーが発生しました、このページを再読込してください
- エラー:サーバ側でエラーが発生しました、このページを再読込してください
leftオプションを指定して記述すると、以後の要素を右側に回り込ませるよう、出力します。つまり、<amazon>ASIN,left</amazon>で、カバー画像付きで左回りこみになります。
右回りこみ
- エラー:サーバ側でエラーが発生しました、このページを再読込してください
- エラー:サーバ側でエラーが発生しました、このページを再読込してください
- エラー:サーバ側でエラーが発生しました、このページを再読込してください
rightオプションを指定して記述すると、以後の要素を左側に回り込ませるよう、出力します。つまり、<amazon>ASIN,right</amazon>で、カバー画像付きで右回りこみになります。
小サイズ(右回りこみ)
- エラー:サーバ側でエラーが発生しました、このページを再読込してください
- エラー:サーバ側でエラーが発生しました、このページを再読込してください
- エラー:サーバ側でエラーが発生しました、このページを再読込してください
- エラー:サーバ側でエラーが発生しました、このページを再読込してください
captionオプションを指定して記述すると、以後の要素を右側に回り込ませるよう、出力します。某livedoor blogみたいスペースは小さいけど、存在感のある配置です。つまり、<amazon>ASIN,caption</amazon>で、カバー画像付きで右回りこみになります。
テキストのみ
この本は、
- エラー:サーバ側でエラーが発生しました、このページを再読込してください
- エラー:サーバ側でエラーが発生しました、このページを再読込してください
- エラー:サーバ側でエラーが発生しました、このページを再読込してください
- エラー:サーバ側でエラーが発生しました、このページを再読込してください
- エラー:サーバ側でエラーが発生しました、このページを再読込してください
<amazon>ASIN,text</amazon>だと、テキスト出力になり、文章段落中でも使用できます。
なお、left2/right2/clear2というようにオプションの後に”2″を付けると影を表示しないようにします。
- clear
- カバー付きビジュアル版。後続の要素には回り込ませない(無設定時のデフォルト値)
- left
- カバー付きビジュアル版。左に配置して、右側に後続の要素を回り込ませる
- right
- カバー付きビジュアル版。右に配置して、右側に後続の要素を回り込ませる
- caption
- カバー付きビジュアル版。右に配置するが、表示するのは著者とタイトルのみ
- text
- テキスト版で出力する(通常の文章段落の中で使えます)
- string
- リンクなしのテキスト版で出力する(タグが使えない箇所でも使えます)
- left2
- カバー付きビジュアル版。左に配置して、右側に後続の要素を回り込ませる。影は表示しない
- right2
- カバー付きビジュアル版。右に配置して、右側に後続の要素を回り込ませる。影は表示しない
- clear2
- カバー付きビジュアル版。後続の要素には回り込ませない。影は表示しない
extra imageは画像のURLをここに指定すると、カバー画像として表示することができます。amazonのカバー画像が気にくわない場合やamazonにカバー画像がない場合に使うと便利です。
設定
ダウンロード後に、amazon.phpを開いて設定をしてください。設定箇所は以下の通りです。
// Amazon.co.jp アソシエイトID
var $AssociatesID = "openvista-22";
// Amazon.co.jp サブスクリプションID
var $SubscritionID = "10J7BBWBHFNGXM612JR2";
// 商品タイトルのカッコ付きの部分を削除するかどうか
// (本のタイトルを短くできますが、良くない結果になることもあります)
var $use_short_title = true;
// サムネイル変換の際、リサイズ後の長辺の最大値を記入
var $resize = 240;
// 購入数・クリック数情報を表示するか(上級者向け)
// (trueの場合は"report/readme.txt"に従って下準備をしてください)
var $show_iteminfo = false;アソシエイトIDとサブスクリプションIDの取得方法は、適当にGoogle検索して探してください。あくまでこのプラグインはAmazonアソシエイト使用者限定であることにご注意下さい。
wp-content/pluginsフォルダにアップロードしてください。また、amazon.cssの内容をあなたのスタイルシートに追加してください。もし、与力があってブラウザ判別なんかができる環境でしたら、同梱のopera.css(Opera用補正CSS), safari.css(Safari用補正CSS)も適用するといいと思います。
でもって、管理画面から有効化したら前準備は完了です。
ちょっとした注意点
注意点が一つあって、WordPressのフォーマッタは一行開けて文章を書くと、その部分を段落と認識して<p>タグで囲ってしまうのですが、このプラグインは<div>タグを出力しているため、これを<p>タグで囲ってしまい、自動的にXHTML invalidになってしまいます。
そのための対策として、2種類考えられます。1つは<amazon>と書くときはこのタグをもれなく<div>要素などのブロック要素で囲うこと*1 。しかし、これはいくらなんでも面倒くさすぎで、非効率です。
ので、そのフォーマッタを直にいじります。
-- $pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)!', "$1", $pee);
-- $pee = preg_replace('!(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee);
++ $pee = preg_replace('!<p>\s*(</?' . (substr($allblocks, 0, -1)."|amazon)") . '[^>]*>)!', "$1", $pee);
++ $pee = preg_replace('!\n(\<amazon\>([a-zA-Z0-9]+),text)!', "\n<p>$1", $pee);
++ $pee = preg_replace('!(</?' . (substr($allblocks, 0, -1)."|amazon)") . '[^>]*>)\s*</p>!', "$1", $pee);WordPress本体のバージョンアップごとにいじらなければならないのが面倒ですが、確実で効率的です。
今後実装したい機能
- RSSの時でも商品情報を表示する機能(難しいかな?)
- 管理画面からのASINの検索機能
- 管理画面からの設定機能
-
画像データのキャッシュ機能を実装し、AWSへのアクセスを極力減らす
更新履歴
- v0.6.4 20080607
- caption版の出力コードがおかしなことになる問題を解決
- クリック情報がない際に、空タグを出力してしまう問題を解決
- v0.6.3 20080317(0.6.2は未リリース)
- 単体のプラグインとしてうまく機能しないケースがあった問題を解決
- カバー画像のみを取り出すオプションを追加(プラグインとしてはあまり必要ない機能なのでマニュアルには割愛)
- キャプション版のデザインを変更
- 購入者情報DBがうまく更新できない問題を解消
- そのほか細かな不具合をいろいろと解消
- v0.6.1 20080203
- 購入者レポートを取得するスクリプトを同梱するようにしました
- コアサーバーのファイル数上限規制に基づき、キャッシュ方法およびキャッシュフォルダの構成を変更しました
- 一部画像を変更。famfamfam.com: Silk Iconsのアイコンを利用するようにしました
- v0.6 20080104
- カートに入れるボタンをつけた
- AmazonECS4の最新バージョン(2007-10-27版)を使うようにした
- captionオプション指定時の諸処の制限を取っ払った
- clearオプションを設定しても回り込みが起きていた問題を修正
- 値引きがあった時にうまくその旨が表示されていなかった問題を修正
- 全体的なコードのリファクタリングとフォルダ・ファイル構造の変更など
- v0.5.3 20080101
- 取得に失敗した項目は表示しないように修正
- 表示乱れ対策のためにタイトルを20文字毎に改行するようにした
- 影なし設定でも影が出てしまう問題を修正
- 右側回り込みが上手くできていなかった点を修正
- 細かなHTML表記の修正
- v0.5.2 20071231
- プラグインをWordPressなしで単独でも動くようにした(その際はwordpress/functions.phpでパスを設定の上、WpAmazonクラスのgetAmazonメソッドを使ってください)
- textオプションのリンクなしバージョンであるstringオプションを追加
- v0.5.1 20071227
- 不要な処理をして、処理に時間がかかっていた問題を解消
- データのキャッシュに失敗していた問題を解消
- 演奏者の名前の表示に失敗していた問題を解消
- コードを構造化し、ソースの可読性を高めた
- v0.5 20071223
- 個別記事ページ以外では呼び出さないようにした(これにより全体的な動作速度が改善されます)
- 値引きがある場合、値引き後の価格と割引率を表示するようにした
- XMLの処理にKeith Devens氏のPHP XML ライブラリを使わずに、PHP5標準のSimpleXMLを使うようにした(よって、PHP5のみのサポートになります)
- 9桁ISBN(チェック・デジット抜き)や新しいISBNである13桁ISBNに暫定的に対応しました
- PHPコーディング規約に沿うようにスクリプトを編集
- v0.4 20071111
- hReview(microformats)に対応
- 購入数・クリック数情報の表示に対応
- v0.3 20070923
- PHP組み込みのGDを利用し、サムネイルを作成するようにした(外部ソフト不要)
- 画像をキャッシュして、Amazon ECSへの負担を減らすようにした
- サムネイルが正しいサイズで表示されない問題を修正
- スタイルシートを見直した結果、ブラウザ別補正CSSが不要になった
- 内部コードの可読性を上げた
- v0.2 20070914
- 任意のカバー画像を設定できる機能を追加
- 在庫切れや発売前など入手できない状況にある場合は、その旨を表示するようにした
- 自動サムネイル化を設定している場合、イメージがサムネイルの設定サイズより小さい場合はリサイズしないようにした
- 各パラメータに含まれたスペースを削除するようにした
- リサイズ対象単位を「高さ」から「長辺」に変更
- カバー画像に影を付けないようにする表示設定を追加
- カバー画像が無いときに表示が乱れる問題を解決
- タイトルの表示スタイルを修正
- その他細かなバグ修正
- v0.1.1 20070902
- 作者の表記を修正
- microformats的に商品へのリンクに
class="item"を付け足した - 文頭でテキスト出力で呼び出したときに、p要素でマークアップされない問題を解消(formatting.php)
- v0.1 20070817
- 語句を一部修正
- v0.1 20070813
- 初回リリース
- WordPressはXHTMLのブロック要素は<p>タグで囲わないようになっています[戻る]
- キーワード:





読者のコメント
16件