WordPress ショートコードひとつでランダムバナー広告管理 広告表示
投稿ページやカテゴリー一覧ページのサイドバーに表示させているカテゴリー別ランダムバナーウィジェット、新着・更新記事リストのN番目にランダム広告をねじこんだり、人気記事一覧に広告を紛れ込ませたりと、これまで各ウィジェットで組み込んでいたランダムバナーをひとつのショートコードで指定・表示させるようにした。
テンプレートパーツでもいいけどショートコードの方が便利
別段各ウィジェットにテンプレートパーツとして組み込んでおけばいいのだけど、ショートコード で指定して表示させるようにしておけばウィジェットだけではなく、投稿ページはもちろん、テキストウィジェット、テンプレートなどいろんなところで使える便利さがあるのでショートコードで広告を指定・表示するようにした次第。
投稿ページ・個別ページ以外でショートコードを使う方法についての詳細は下のページを参照していただきたい。
<aside class="ninki-kiji">
<ul>
[add-list type=list-all]
[add-list type=list-top]
</ul>
</aside>
例えば上のように投稿ページにショートコードを入力すれば、最近の新着・更新記事ウィジェットや人気記事ランキングウィジェットにねじ込んでいたランダムバナーが下のように投稿ページに表示される。
type=●●●で指定した後で説明する ランダム広告リストPHP が、<li>要素の中にランダムに抽出したバナーを入れたのを返してくるという仕組みになっている。
ショートコード登録
function add_on_list($atts) {
extract( shortcode_atts( array('type' => "all",), $atts ) );
/* type=●●と同じ●●.php */
include STYLESHEETPATH.'/ads/' . $type . '.php';
return $add_rand;
}
add_shortcode('add-list', 'add_on_list');
functions.php に上のコードを追加する。type=●●で後で説明する ランダム広告リストPHP を指定する。上の場合、ランダム広告リストPHPの指定がなかったらallというランダム広告リストPHPを使うようになっている。
ランダム広告リストPHP は、使っているテーマのフォルダの ads フォルダに上の場合保存していることになる。
WordPress 投稿ページ・個別ページ以外でショートコードを使う方法 を参考にして、投稿ページやウィジェットなら [add-list type=●●] とすれば●●というランダム広告リストPHPが返す広告が返ってきて表示される。
ランダム広告リストPHPを作成
<?php
$add_rand = array(
/* A8.net 賢威 */
'<li>
<a href="ここにアフィリエイトリンク" target="_blank" rel="nofollow">
<span class="new-kiji">
PR
</span>
<img width="100" height="100" src="バナー画像URL" alt="" />
<div class="ninki-kiji-text">
<p>賢威 2万人を超えるユーザーが選んだWordPress SEOテンプレート</p>
<p><span class="pv-data">アクセス数: ∞</span></p>
</div>
</a>
</li>',
/* A8.net Z.com WP */
'<li>
<a href="ここにアフィリエイトリンク" target="_blank" rel="nofollow">
<span class="new-kiji">
PR
</span>
<img width="100" height="100" src="バナー画像URL" alt="" />
<div class="ninki-kiji-text">
<p>Z.com WP 低価格なのに高速・多機能・高セキュリティ 月額400円(税別)から</p>
<p><span class="pv-data">アクセス数: ∞</span></p>
</div>
</a>
</li>',
);
$add_rand = $add_rand[mt_rand(0, count($add_rand)-1)];
return $add_rand;
上はリストに表示することを想定した ランダム広告リストPHP。2行目、配列を $add_rand に入れとく。配列の中身は ' ' の間にリストの <li>要素 になるように定型された広告を、カンマ , 区切りで入れてある。
33~34行目、実際にリロードされる度にランダムに広告を選んで返す処理をしているのがこの部分。$add_rand に入れた配列の要素の数をカウントして、何番目かをランダムに選んで選ばれた配列要素を返すという処理をしている。
4行目、18行目のように簡単な広告の説明をコメントアウトして入れておけば広告の管理が少しは楽かも。後はUTF-8N で保存してテーマフォルダのadsフォルダにアップロード。
<?php
$add_rand = array(
'',
'',
);
$add_rand = $add_rand[mt_rand(0, count($add_rand)-1)];
return $add_rand;
上のコードが ランダム広告リストPHP の基本形。htmlの定型(ひな形)を表示させたいところのスタイルにあわせて' '中にいれていけばいくらでもすきなところにショートコードでランダムに広告を表示させることができる。
ショートコードでランダム広告シリーズ完結
いろいろとランダムバナーでいじってきたけどショートコードで指定・表示する方法で完結。自己満足以外何もないがまあちょっとは勉強になったかな。普通プラグインにした方がいいように思えるがそこまでのスキルがないのでこれで勘弁してちょうだい。各ウィジェットのコードとか変更になってるけどおいおい訂正していかなくてはいけません。
WPテーマ,WPカスタマイズ,アフィリエイト広告管理,ショートコード,ウィジェットエリア,ウィジェット,widget,functions.php,ランダムバナー,ローテーションバナー
Posted by あれこれ堂
関連記事
WordPress カスタムフィールド値指定ランダムバナーウィジェットの作り方
投稿ページ・個別ページにカスタムフィールド値を利用してランダムバナー広告リストフ ...
プラグインなしで人気記事一覧ウィジェット化-カテゴリー別人気記事ランキングウィジェット
プラグインなしで人気記事一覧ウィジェット化 個別投稿ページに属するカテゴリーの人 ...
誕生日年齢計算phpコードとWordPress表示ショートコードの作り方
誕生日から今の年齢を計算するphpコードとWordPressで年齢を表示するショ ...
n番目指定ランダム広告挿入機能付き新着・更新記事ウィジェット
WordPressサイドバーなどにある最近の新着記事・更新記事一覧のn番目で位置 ...
WordPress カテゴリー別ランダムバナー広告ウィジェットの作り方
個別投稿に属するカテゴリーに関連した広告をサイドバーにアクセスがある度に(ロード ...