wordpress用Amazonアフィリエイト用マクロを書いてみた

シェアする

WordPressにはAmazonアフィリエイト用のプラグインがいろいろあるんだけど、どれも微妙に気に入らない。定番は「AmazonLink」らしい。これはこれで商品検索もできるし、表示もカスタマイズできるのだけど、わざわざAPI使うのも牛刀という感じがする。検索結果リンク(ライブリンク)も手軽に表示したいし。識者に聞くと「drk7さんの自動リンク」を使ってるらしい。悪くはないんだけど。

欲しい機能は、最低でも下記の2つ。意外にこういうのがない。というか、Amazonの標準機能で作れるから要らないのかな、みんな。

  • ASINを指定して商品リンクが作れる。横に並べられるとなお良い。
  • キーワードを指定してライブリンクが作れる。

探してもなさそうなので、仕方ないからプラグインから作るか、と思ったら、便利なプラグインがありました。その名も「Macro Expander Plugin」。ちょこっとPHPを書くだけでマクロが作れる。これは便利すぎというか、これだけで大抵の用は足りる。

さっそく書いたのがこれです。見ればわかるけど、Amazonで作ったアフィリエイト用のHTMLをソースに埋め込んで、変更したい部分をマクロの引数で持ってきているだけ。簡単。

function macro_amazon2()
{
        $code = '';
        foreach (func_get_args() as $asin) {
                $code .= "<iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=".$asin."&amp;t=zu-22&amp;IS2=1&amp;fc1=000000&amp;lc1=0000FF&amp;bg1=FFFFFF&amp;lt1=_blank&amp;bc1=FFFFFF&amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" align="left;"></iframe>";
        }
        return $code."<br clear="all">";
}

function macro_amazon_search_result($genre='',$keyword='')
{
        if ($keyword == '') {
                $keyword = $genre;
                $genre = 'books-jp';
        }
        $code = rawurlencode($keyword);
        return "<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=zu-22&#038;o=9&#038;p=15&#038;l=st1&#038;mode=".$genre."&#038;search=".$code."&#038;fc1=000000&#038;lt1=&#038;lc1=3366FF&#038;bg1=FFFFFF&#038;f=ifr" marginwidth="0" marginheight="0" width="468" height="240" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe>";
}

最初のは、[[amazon2][4774134325][4873113644][0596521979]]のように書くと、次のように単品リンクを並べる。


2つめは、[[amazon_search_result][books-jp][wordpress]]で、指定ジャンル(books-jp)からキーワード(wordpress)に関する本を表示してくれる。


注意: ソースコードに私のアフィリエイトIDが埋込なので適宜変更してください。表示を変えたい場合も。

追記:マクロで書いておくと、あとで表示を変更したり、他のCMSへ持っていくのがやりやすいのが利点。マクロの名前がamazon2だったりするのは、WiLiKiや旧日記のperlツールとの互換を取るため。