先日紹介したAmazon商品リンクショートコードを使用すると、Amazonの商品ページへのリンクのみならず、楽天やYahoo!ショッピング、メルカリ等の検索ボタンを表示することができます。
しかし、リンク先の商品を変更しようと思うと、記事を1つ1つ編集する必要があります。
そこで、Amazon商品リンクショートコードを改造し、1ヶ所の変更で、目的の商品リンクのリンク先を変更できるようにしました。
使用例
たとえば、姉妹ブログの「coralのクルマ見聞録」では、趣味で集めた道の駅やSA・PAのスタンプを紹介しています。
これらの記事の一番下に、道の駅のガイドやSA・PAのガイドブックへのAmazon商品リンクを張っています。
しかし、これらは毎年新しいものが発売されますし、他の出版社からも新しいガイドブックが発売されます。
古い商品へのリンクはあまり需要がありませんが、新しいガイドブックが出るたびに何十という記事を編集するのも大変です。
そこで、1ヶ所編集するだけですべてを変更できないかな?と思ったのが動機です。
Amazon商品リンクショートコードの在処
Amazon商品リンクショートコードのソースは、WordPress管理画面の「外観」→「テーマファイルエディター」→「Cocoon」→「lib」の中に、「shortcodes-amazon.php」として格納されています。

この中にある、「amazon_product_link_shortcode($atts)」周りを触っていきたいと思います。

なお、「Cocoon」の中にあるソースを直接触るのではなく、「Cocoon Child」内にある「Theme Functions(function.php)」に改変後のコードを書くようにします。
コードの改造
さて、さっそくコードを改造していきましょう!といきたいところですが、実は私、PHPを触るのは初めてなんですよね…
でも、コードを見る限り、そんなに難しくないように見えるので、勉強しがてら触ってみたいと思います。
まず、新しいショートコードを定義します。
新しいショートコードの名前は「stat_amazon」としました。

次に、ショートコードのオプションを格納するための配列の中に、「michiorsapa」という変数を定義しました。
管理したい商品が1つだけであればこのようなオプションは不要なのですが、道の駅とSA・PAで別の商品へのリンクを張りたいため、このオプションで切り替えるようにしました。

実際に、リンク先の商品を定義する部分です。
「michiorsapa」が1のときは道の駅、2のときはSA・PAのガイドブックの情報をセットします。
この部分を変更すれば、すべてのページのAmazon商品リンクが変更されることになります。

ショートコードの書き方
記事中に埋め込むショートコードは、以下のようなものです。
オプションの「michiorsapa」にセットする数字で、道の駅とSA・PAを切り替えます。

感想
PHPをもう少し理解していれば、もう少しスマートなコードを書けたかもしれませんが、今の私にはこれが精一杯です。
この方法であれば、道の駅とSA・PAだけでなく、3種類以上の商品リンクを管理することができます。
久しぶりのプログラミング――というほどではありませんが、プログラムを触っていると楽しかったので、もう少しPHPを勉強して、自分でコードを書けるくらいになりたいですね。
コメント