【覚書】WordPressでAmazon商品を簡単に表示するショートコード

 

WordPress にAmazonの商品を紹介できるプラグインはいろいろと存在しているのですが、どれもいまいち趣味に合わない。

問題なのは、このサイトを含めて作っているサイトでは商品を売れない事に起因している。

API の制限があります。

  • 利用開始から60日間は、一日あたり8640リクエスト可能
  • 過去30日間の発送済み商品売上約5円ごとに1リクエスト追加
  • 最大リクエスト可能数は864000
  • 過去30日以内に発送済の商品売上が必要

私のような場合には最後の制限にヒットします。毎月誰かが買ってくれるなんて事はありません。

それで何か方法はないかと考えたのですが、Amazonアソシエイトの画面でいい感じにできるウィジェットを発見しました。

ホーム>ウィジェット>商品検索ウィジェット

商品検索ウィジェットを使ってみます。

まずは、”あなたのWebサイトに追加”を選択して、ウィジェットのプレビューを表示します。好きにカスタマイズしてください。

<script type="text/javascript">amzn_assoc_ad_type ="responsive_search_widget"; amzn_assoc_tracking_id ="netlaborat-22"; amzn_assoc_marketplace ="amazon"; amzn_assoc_region ="JP"; amzn_assoc_placement =""; amzn_assoc_search_type = "search_widget";amzn_assoc_width ="auto"; amzn_assoc_height ="auto"; amzn_assoc_default_search_category =""; amzn_assoc_default_search_key ="";amzn_assoc_theme ="light"; amzn_assoc_bg_color ="FFFFFF"; </script><script src="//z-fe.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&Operation=GetScript&ID=OneJS&WS=1&Marketplace=JP"></script>

コードはこんな感じになります。
検索ワードを入力して表示を行うと、コードが下記のように変わります。

<script type="text/javascript">amzn_assoc_ad_type ="responsive_search_widget"; amzn_assoc_tracking_id ="netlaborat-22"; amzn_assoc_marketplace ="amazon"; amzn_assoc_region ="JP"; amzn_assoc_placement =""; amzn_assoc_search_type = "search_widget";amzn_assoc_width ="auto"; amzn_assoc_height ="auto"; amzn_assoc_default_search_category =""; amzn_assoc_default_search_key =".NET";amzn_assoc_theme ="light"; amzn_assoc_bg_color ="FFFFFF"; </script><script src="//z-fe.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&Operation=GetScript&ID=OneJS&WS=1&Marketplace=JP"></script>

見てみればわかると思いますが、”amzn_assoc_default_search_key”という引数に検索ワードを渡しているだけです。他にもカテゴリーやマーケットプレイスに関しての指定があります。

上記の例では”amzn_assoc_tracking_id”に私のトラッキングコードを渡していますので、ご自分のコードに切り替える必要があります。

ここまで来たらショートコードにすべき事はわかってきます。

amzn_assoc_default_search_key に関して表示したい商品名やコードを渡せるように変更してあげればいいだけです。Wordpress のショートコードに慣れた人なら簡単に作る事ができるでしょう。私は、function.php の最後に次のように追加しました。ISBN での検索を追加したかったからです。

function setAmazonAssociate($args)
{
	extract(shortcode_atts(array(
		'scode' => '',
		'isbn' => '',
	), $args));
	$sword = '';
	if( $scode === 'ISBN' )
	{
		$sword = 'ISBN '. $isbn;
	}
	else
	{
		$sword = $scode;
	}
	$tid = 'netlaborat-22';

	$strRet = '<script type="text/javascript">amzn_assoc_ad_type ="responsive_search_widget"; amzn_assoc_tracking_id ="'.$tid.'"; amzn_assoc_marketplace ="amazon"; amzn_assoc_region ="JP"; amzn_assoc_placement =""; amzn_assoc_search_type = "search_widget";amzn_assoc_width ="auto"; amzn_assoc_height ="auto"; amzn_assoc_default_search_category =""; amzn_assoc_default_search_key ="'.$sword.'";amzn_assoc_theme ="light"; amzn_assoc_bg_color ="FFFFFF"; </script><script src="//z-fe.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&Operation=GetScript&ID=OneJS&WS=1&Marketplace=JP"></script>';

	return $strRet;
}
add_shortcode('setAmazonCode', 'setAmazonAssociate');

解っていると思いますが上記のまま貼り付けないでください。
セキュリティをガン無視していますし、トラッキングIDも決め打ちしています。ご自分の環境にあったカスタマイズをお願いします。

ここまで来たらショートコードを使えば商品が表示されます。

[setAmazonCode scode=”ISBN” isbn=”9784065173817″]注)[と]は全角で表現しています。

創竜伝14巻が表示されたら成功です。

[setAmazonCode scode=”創竜伝”]注)[と]は全角で表現しています。

こちらは創竜伝に関する商品が検索されて表示されます。