WordPressのテーマ「Cocoon」では、アマゾンアフィリエイトのショートコードが使えます。
このページでは、投稿下のウィジェットで複数設定したショートコードから、ランダムに1つのAmazonリンクの広告を貼り付けて表示させる方法を紹介します。
このページではウィジェットにPHPを埋め込む方法を紹介していますが、以下の記事ではもっと簡単な方法を紹介しています。
プラグイン「PHP Code Widget」のインストール
▶︎ プラグイン「PHP Code Widget」は、WordPressのウィジェットの中でPHPを実行可能にします。
▶︎ WordPressのプラグインの新規追加画面で、検索窓に「php code widget」の途中まで入力して検索されると表示されるので、ボタン「今すぐインストール」をクリックしてインストールします。

▶︎ インストールが完了したら、ボタン「有効化」をクリックします。

実際の使い方は、次の章に進んでください。
ウィジェット領域にPHPコードを埋め込み
▶︎ WordPressのウィジェット設定画面を開いて、「投稿下」に「PHPコード」のウィジェットを埋め込んで、PHPコードを入力します。
PHPコードの内容の説明は、この後に続きます。
▶︎ PHPコードの内容について説明します。
<?php
$books = ['[amazon asin="4863542321" kw="わかばちゃんと学ぶ Googleアナリティクス"]', '[amazon asin="4863543433" kw="改訂2版 わかばちゃんと学ぶ Git使い方入門"]', '[amazon asin="4863541945" kw="わかばちゃんと学ぶ Webサイト制作の基本"]'];
//ランダムな要素を取得する
$rand_key = array_rand($books, 1);
echo do_shortcode($books[$rand_key]);
?>

① Amazonショートコードを配列に代入する
PHPで配列を作成するには、全体を[と]でくくり、各要素は,で区切ります。
各要素にはCocoonのAmazonショートコードを記入します。
上記の例では、3つの要素を記入しています。
② 配列からランダムに1つの要素を取得する
配列から要素をランダムに取り出すには、以下の関数を使います。
array_rand(引数1, 引数2)
引数1が配列名、引数2が取り出す要素数を示します。
③ ショートコードをPHP上で実行する
ショートコードをPHP上で実行するには、以下の関数を使います。
echo do_shortcode(ショートコード);
ただし、今回はショートコードを配列から取得しています。
配列のn番目の要素の中身を取り出すには、以下の関数を使います。
配列名[n]
以上を組み合わせて、配列のn番目のショートコードを実行するには、次の関数となります。
echo do_shortcode(配列名[n]);
▶︎ ここまでの設定が完了したら、実際に画面を表示して確認してみてください。
うまくいけば、Amazonのリンクがランダムに表示されます。
まとめ
このページの記事を書くにあたって、次の情報を参考にしました。
CocoonのAmazonショートコードの書き方について
プラグイン「PHP Code Widget」の使い方について
PHPで配列を作る方法について
PHPで乱数を作る方法について
PHPでショートコードを実行する方法について
コメント