Simple Amazon
Amazonの商品情報を表示するWordPressのプラグイン。
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/icorokamoto/simple-amazon/archive/refs/heads/master.zip本文に貼り付けられた Amazon の URL を元にして個別商品の情報を取出します。
Description
「Simple Amazon」はAmazonの商品ページのURLを記事本文に貼り付けることでその商品情報を表示することが出来るプラグインです。 もともとは「wp-tmkm-amazon」というプラグインをベースに開発を始めたものですが、今となってはまったく別物のプラグインとなっております。
商品情報の表示
「Simple Amazon」には、Amazon の 商品ページのURL を貼り付けるとその商品を記事上に表示するという、ただそれだけの機能しかありません。
「商品検索なんてAmaozonでした方が早いでしょ」「ちょっと具合悪いとこなんて自分で直すわ」「でも自分でイチからプラグイン組むのはダルイわ」という、ワケが分かっている人向けのプラグインです。
「Simple Amazon」のベースとなっているのは、「wp-tmkm-amazon」というプラグインです。このプラグイン、良くできていると思うのですが、すでに開発が止まってます(最近、有志により開発が進められているっぽいです)。 加えて、php5で使用するとエラーを吐いたり、自分にはあまり必要ない機能もあったので、書き直させてもらいました。 そうして出来たのがこの「Simple Amazon」です。
Installation
- ダウンロードした zip ファイルを解凍します。
- simple-amazon フォルダを wp-content/plugins フォルダに転送します。
- 管理画面から simple-amazon を有効化します。
- プラグインの管理画面に移動して、「Credential ID」「Credential Secret」「Credential Version」「Partner Tag」「Marketplace」を入力します。
- 必要に応じて「オプション設定」を設定します。
- 記事本文中にAmazon.co.jpの商品詳細ページのURLをコピペするだけでAmazonの商品情報が表示されます。
etc
- このプラグインを使用するには「Credential ID」「Credential Secret」「Credential Version」「Partner Tag」「Marketplace」の3つが必要です。持っていない場合は https://affiliate.amazon.co.jp/ で取得してください。
- imagesディレクトリの中にあるamazon_noimg.png(75 x 75px)、amazon_noimg_small.png(160 x 160px)、amazon_noimg_large.png(500 x 500px)を差し替えることで、商品画像がないときの代替画像を好きなものにできます。
- cacheディレクトリは別の場所に設置できます。その場合は、/include/class_cache_control.php の 18行目にある $this->cache_dir の値を、設置したディレクトリのパスに変更してください。
Changelog
9.0.2
- APIエラーなどで表示される管理者用エラーメッセージが横に溢れないように修正した。
9.0.1
- エラー出力で停止することがあったのを修正した。
9.0
- Creators API に対応した。
- PHPの関数として呼び出す機能を削除した。
- カスタムフィールドの対応を削除した。
8.0.1
- PHP8.2 に対応した。
8.0
- PA-API v5 に対応した。
- オーストラリア(au)、ブラジル(br)、インド(in)、メキシコ(mx)、トルコ(tr)、アラブ首長国連邦(ae)、シンガポール(sg)を追加した。中国(cn)を削除した。(Amazonは最近中国から撤退していた。)
- 商品の一覧を出力する関数 simple_amazon_list_view() を停止した。(そのうち復活するかも。)
7.0.1
- ログを最大500行までに制限した。
- キャッシュの保持時間を24時間に修正した。
7.0
- 商品情報を取得できなかった場合、ログインユーザだけにエラー情報を表示するようにした。
- 商品情報を取得できなかった場合、cache ディレクトリに error.log に URL と ASIN を記録するようにした。
- 管理画面で error.log の確認と削除をできるようにした。
- 管理画面でキャッシュを削除できるようにした。
- ショートコードでのリンク表示に対応した。
- javari.jp の対応を削除。(javari.jp は2014年6月に終了。)
- 管理画面でデフォルトのドメインを指定できるようにした。
- キーワードでのリンク表示に対応した。
6.0.1
- Amazonのリンクを取得するための正規表現を更新した。
6.0
- テンプレート機能を実装した。
- その他、コードを整理した。
5.5
- 商品リストの表示に対応した。
5.4.1
- CSSファイルの読み込みが出来ていなかったのを修正した。
5.4
- カスタムフィールドに対応した。
- インターナショナルモードの設定を削除した。
- 管理画面のデザインを変更した。
5.3.4
- debugモードで出ていたnoticeを修正した。
5.3.3
- CSSの読み込み設定が動作していなかったのを修正した。
- マルチサイト運用時に子サイトの設定を保存しようとすると親サイトの設定画面に飛ばされる不具合を修正した。
5.3.2
- クラスの読み込み忘れを修正した。
5.3.1
- インストール時にエラーが発生する不具合を修正した。
- キャッシュを作成出来ない不具合を修正した。
- インターナショナルモードが正しく動作しない不具合を修正した。
5.3
- アソシエイトIDの入力を必須にした。
- 期限切れのキャッシュを自動的に削除するようにした。
- 商品情報が取得出来ないことがある不具合を修正した。
- 中国(cn)、スペイン(es)、イタリア(it)のamazonに対応した。
- その他、コードを整理した。
5.2
- カテゴリのデータがない場合にカテゴリを表示しないようにした。
- キャッシュをコントロールするプログラムを書き換えた。
- 無効なASINを指定した場合にエラーコメントを出力するようにした。
5.1.2
- php 関数として呼び出す場合にエラーが生じていたのを修正した。
- レーティングの表示をしないようにした。
- CSSのcleafix等を修正した。
5.1.1
- レスポンスがないときの表示に「商品リンクの動作」が反映されるように修正した。
- 使用していないコードをとりあえずコメントアウトした。
5.1
- javari.jpの商品表示に対応した。
5.0
- ca, de, fr, uk, usのAmazonの商品表示に対応した。
- ca, de, fr, uk, usのアフィリエイトIDに対応した。
- 管理画面からキャッシュを削除する機能を削除した。
4.0
- コードを大幅に書き直し、クラスごとのファイルに分割した。
- Product Advertising API の Access Key ID と Secret Access Key を管理画面で入力出来るようにした。
- 管理画面からキャッシュを削除出来るようにした。
- プラグインのアンインストール時に設定を削除するか残すか選択できるようにした。
3.2.1
- Lite.phpを読み込む前にすでにCache_Liteクラスが存在するかどうかチェックするようにした。
- cacheディレクトリのパーミッションが正しくない場合、管理画面に警告を表示するようにした。
- private_key、AWSAccessKeyIdが設定されてない場合、管理画面に警告を表示するようにした。
3.2
- Lite.php、PEAR.php、simple-amazon-function.phpの場所をincludeディレクトリ以下に変更した。
- Product Advertising APIの毎秒1回ルールにちゃんと対応。
3.1.1
- CSSのclearfixを書き直した(変な書き方をしていたので)。
- clearfixの見直しに伴い、出力するHTMLからhrタグを取り除いた。
3.1
- 表示したい商品のURLを貼り付けるだけで商品情報を表示出来るようにした。
- その他、コードを整理した。
3.0
- 画像のサイズの指定を「商品画像のサイズ」1つにまとめた。
- 「商品詳細の表示スタイル」を「商品詳細の表示項目」に名称変更した。
- 「商品詳細の表示項目」の中にある各項目の名称を「Full」、「Detail」、「Title & Image」、「Title」にした。
- ついでに「商品画像のサイズ」の中にある各項目の名称を「Small」、「Medium」、「Large」に変更した。
- 「商品画像のサイズ」のデフォルト値を「small」から「Medium」にした。
- 「商品画像のサイズ」に「Large」を追加した。
- 出力するimgタグにheightとwidthを追加するようにした。
- 中古価格を非表示にした。
- 画像ファイルの保存場所をプラグインのルートディレクトリからimagesディレクトリに変更した。
- 表示スタイル「Full」で「オススメ度」を表示するようにした。
- 設定(アソシエイトID、レイアウト、画像サイズ)変更時にキャッシュを削除するようにした。
- CSSの読み込みを切り替えられるようにした。
- CSSを書き直した。
- その他、コードを整理した。
2.0.7
- Simple Amazonでは使用していないlist機能のコードが残っていたので削除した。
- その他、コードを整理した。
2.0.6.1
- クラス名をオリジナルのクラス名に変更した。(tmkm-amazon系統のプラグインと一緒に使用するとクラス名がコンフリクトするため。)
2.0.6
- ecsからフィードが返ってこない場合にエラーをログに出力しないようにした。
- PEARを1.8.1にした。
- Cache_Liteを1.7.8にした。
- その他、コードを整理した。
- readme.txtを作成した。
2.0.5
- コードをちょっと整理してみた。
2.0.1
- cacheが働いてなかったのを修正した。
2.0
- Product Advertising APIに対応した。
1.0
- wp-tmkm-amazonをsimpleXMLに対応させた。
Arbitrary section
ショートコードで商品情報を表示させる方法
投稿中に以下のようにショートコードを書くことで商品を表示することができます。
ASINを指定して表示する場合 [sa asin="(ASINコード)"]
キーワードを指定して表示する場合 [sa word="(キーワード)"]
キーワードはAmazonでそのキーワードを検索したときに一番最初に出てくる商品が表示されます。 ASINとキーワードを両方指定した場合はASINが優先されます。
商品情報を表示するコードのカスタマイズ
/includes/View.php の 35行目以降にある $regexps[] を追加・編集することで、商品情報を表示させるためのコードを追加・変更できます。 以下のような正規表現を利用して「ASIN」を取り出しています。
ASINを指定する部分: (?P[A-Z0-9]{10,13})
たとえば、wp-tmkm-amazonとの互換を保ちたい場合は以下の行を追加します。
$regexps[] = '/[tmkm-amazon](?P[A-Z0-9]{10,13})[\/tmkm-amazon]/';
テンプレート機能
テンプレートファイルを作成して /template にいれることで、出力される商品情報のHTMLを変更することが出来ます。テンプレートファイルで使える変数などは /template/sa-default.php を参照してください。