【開発メモ】WordPress で、Amazon 商品を入れ込む

 

いろいろなプラグインが出ていますが、いまいち使い勝手が悪い。使い勝手が悪いのではなく、ぴんと来ないが正解なのだろう。

検索で出てくる、AmazonJS は確かに便利ですが、ブラウザによっては、ブラック画面になるだけで、組み込みができない。古いブラウザで実行すれば、入力画面が出ることから、私の環境の責任なのだろうと利用をあきらめることにする。
バージョンアップがされれば使えるようにはなるとは思うが、それまで Amazon の商品紹介(アフィリエイト)をどうしようかと考えた。

Amazon のアソシエイトには、ウィジェットを作られるものが存在している。

この画面ですが、売り上げもなく、アソシエイトを確認していなかった自分が悪いのですが、これは使える!

中を見ると、それほど複雑なことをしているわけではない様です。

貼り付けるだけで、ウィジェットが表示されるようになります。
デザインに関しても、Amazon 由来のものですが、まぁ個人で使うには十分だと思う。

そこで、これを使って、ショートコードを作ってみることにした。

WordPress のショートコードは、それほど難しい物ではない。

function.php に、function を作成して、「add_shortcode」すればいいだけだ。
慣れないと、表示ができなくなったりするので、本当は、プラグインとかにしたほうがいいとは思うけど、そこまで大げさにはしたくない。気が向いたら、作り変えるかもしれないけど、ショートコードで実装しておけばいい。

php に慣れた人なら難しくはないと思う。

一癖あるのは、ショートコードに引数を渡すところだと思う。

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('AmazonAssociate', 'setAmazonAssociate');

これで、ショートコードの準備ができた。

万が一、ご自分で利用される場合には、$tid の値は、ご自分のトラッキングIDに変更してください。
このまま利用してもいいのですが、私のトラッキングIDになってしまい。売り上げがご自分のところに来なくなります。

あとは、商品を入れていくだけでよい。

[AmazonAssociate scode='ISBN' isbn='9784865543070']

とすれば、黒の召喚士6が表示される。

もう少しパラメータとかエラーチェックとか本来なら作ったほうがいいのはわかっているけど、自分が使うだけなら、これで十分だと思う。
思う事にしておく。