※弊社記事はたぶんにPRが含まれますので
話半分で受け取ってください。

とある博物館の売店の営業は無事に終了しました。

WordPressプラグイン – Simple Amazon

Amazon アウトレット

 「Simple Amazon」はWordPressでAmazonの商品を表示する事が出来るプラグインです。

 「Simple Amazon」のベースとなっているのは、「wp-tmkm-amazon」というプラグインです。このプラグイン、良くできていると思うのですが、すでに開発が止まってます(最近、有志により開発が進められているっぽいです)。
 加えて、php5で使用するとエラーを吐いたり、自分にはあまり必要ない機能もあったので、書き直させてもらいました。

 そうして出来たのがこの「Simple Amazon」です。

インストール

  1. ダウンロードした zip ファイルを解凍します。
  2. simple-amazon フォルダを wp-content/plugins フォルダに転送します。
  3. cache ディレクトリのパーミッションを 777 (または707) にします。
  4. 管理画面から simple-amazon を有効化します。
  5. プラグインの管理画面に移動して、「Access Key ID」と「Secret Access Key」、「アソシエイトID」を入力します。Access Key ID と Secret Access Key は http://aws.amazon.com/ で取得してください。
  6. 必要に応じて「オプション設定」を設定します。
  7. 記事本文中にAmazon.co.jpの商品詳細ページのURLをコピペするだけAmazonの商品情報が表示されます。各テーマの PHP ファイルに
    <?php simple_amazon_view('ASIN', 'domain'); ?>
    (domainは省略可能)と記載することでも表示出来ます。

基本的な使い方

 記事本文中にAmazonの商品詳細ページのURLをコピペするだけで以下のようにAmazonの商品情報が表示されます。

WordPress レッスンブック 3.x対応

  • メーカー:ソシム
  • カテゴリ:単行本

 また、以下のように直接ASINを指定しても動作します。(ただしAmazon.co.jpの場合のみ。)

[code lang=”text”]<amazon>ASIN</amazon>[/code]

 ここで、ASIN はAmazonのASINに置き換えて下さい。

ショートコードによる表示

 以下のようにショートコードでも商品情報を表示させることができます。asin で表示させたいAmazonの商品のASINを指定します。

[code lang=”text”][sa asin="4883377245][/code]

 以下のように word でキーワードで指定することもできます。

[code lang=”text”][sa word="WordPress"][/code]

 asinword を同時に指定した場合は asin が優先されます。

ショートコードのカスタマイズ

 /include/sa_view_class.php の 39行目以降にある $regexps[] を追加・編集することで、商品情報を表示させるためのコードを追加・変更できます。以下のような正規表現を利用して「ASIN」と「商品名」を取り出しています。

[code lang=”text”]ASINを指定する部分(必須): (?P<asin>[A-Z0-9]{10,13})
商品名を指定する部分(任意): (?P<name>[\S]+)[/code]

 たとえば、wp-tmkm-amazonとの互換を保ちたい場合は以下の行を追加します。

[code lang=”php”]$regexps[] = ‘/\[tmkm-amazon\](?P&amp;lt;asin&amp;gt;[A-Z0-9]{10,13})\[\/tmkm-amazon\]/’;[/code]

PHP関数としての使い方

 Simple AmazonをPHPの関数として呼び出す場合は、テーマファイル等に以下のように記載します。

[code lang=”php”]<?php simple_amazon_view( $asin, $domain, $template ); ?>[/code]

 $asin は Amazon の ASIN です。
 $domain は Amazon のドメイン (ca, de, es, us, fr, it, jp, uk, au, br, in, mx, tr, ae, sg) です。この項目は省略可能です。省略した場合は WordPress の wp-config.php に設定されている WPLANG に合わせたドメインが設定されます。
 $template は表示の際に使用するテンプレートです。この項目は省略可能です。

使用例

 以下は WPLANG に jp が設定されている場合の設定例です。(日本語版を使用している場合は通常 jp が設定されていると思われます。)

 Amazon.co.jp にある、ASIN が 4883377245 の商品を表示させたい場合。

[code lang=”php”]<?php simple_amazon_view(‘4883377245’); ?>[/code]

 Amazon.co.uk にある、ASINが B000BMUVKQ の商品を表示させたい場合。

[code lang=”php”]<?php simple_amazon_view(‘B000BMUVKQ’, ‘uk’); ?>[/code]

 Amazon.co.jpにある、ASINが B000Z5N4EO の商品を商品名だけ(sa-title.php)で表示させたい場合。

[code lang=”php”]<?php simple_amazon_view(‘B000Z5N4EO’, ‘jp’, ‘sa-title.php’) ?>[/code]

カスタムフィールドを使って表示

 あらかじめ、テンプレートのAmazonの商品を表示したい場所に以下のように記載します。

[code lang=”php”]<?php simple_amazon_custum_view(); ?>[/code]

 実際に商品を表示するには、記事を作成する際に「カスタムフィールドを追加:」で「amazon」を選択し、値に商品ページのURLを入力します。「カスタムフィールドを追加」ボタンをクリックして完了です。
 改行で区切ることで複数の商品を一度に表示することが出来ます。

商品リストの表示 (停止中)

 商品リストを表示します。もっというと、ItemSearchのオペレーションを実行して、その結果をリストする関数です。
 利用するにはあらかじめテンプレートのAmazonの商品リストを表示したい場所で以下の関数を使用します。

[code lang=”php”]<?php simple_amazon_list_view( $params, $domain, $styles ); ?>[/code]

 $params はProduct Advertising APIのリクエストパラメータがそのまま使えます。より詳しい内容は Product Advertising API の APIリファレンス -> オペレーション -> ItemSearch のページを参照してください。

 $domain は Amazon のドメイン(ca, cn, de, es, com, fr, it, ja, uk, javari.jp)です。この項目は省略可能です。省略した場合は WordPress の wp-config.php に設定されている WPLANG に合わせたドメインが設定されます。

 $styles はリスト表示する際のタグなどを指定することが出来ます。設定出来る項目は以下のようになっています。この項目は省略可能です。

imgsize設定出来る値は small / medium / large の3つ。デフォルトは small です。
before_listリストの前に付く文字列。デフォルトは <ul> です。
after_listリストの後ろに付く文字列。デフォルトは</ul> です。
before_liリストの各項目の前に付く文字列。デフォルトは <li> です。
after_liリストの各項目の後ろに付く文字列。デフォルトは </li> です。
show_thumbnail画像を表示するか否か。表示する場合は true、表示しない場合は false を指定します。デフォルトは true です。
show_titleタイトルなどの文字列を表示するか否か。表示する場合は true、表示しない場合は false を指定します。デフォルトは true です。

設定例

 以下は WPLANG に ja が設定されている場合の設定例です。(日本語版を使用している場合は通常 ja が設定されていると思われます。)

 本 – コミックカテゴリの商品のタイトル(画像なし)を売れている順番でリストする場合。

[code lang=”php”]<?php
$params = array(‘SearchIndex’ => ‘Books’, ‘BrowseNode’ => ‘466280’);
$styles = array(‘show_thumbnail’=>false);
simple_amazon_list_view($params, null, $styles);
?>[/code]

 DVDカテゴリの商品の画像だけを売れている順番でリストする場合。

[code lang=”php”]<?php
$style = array(before_list=>'<ul class=”clearfix”>’,’show_title’=>false);
$params = array(‘SearchIndex’ => ‘DVD’, ‘BrowseNode’ => ‘561958’ );
simple_amazon_list_view($params, null, $styles);
?>[/code]

テンプレート機能

 テンプレートファイルを作成して /template にいれることで、出力される商品情報のHTMLを変更することが出来ます。表示するテンプレートは管理画面で変更できます。
 テンプレートファイルで使える変数などは /template/sa-default.php を参照してください。

ダウンロード

過去のバージョン