WordPressのテーマ「Gush」の記事一覧中にアドセンスを自動挿入する
記事一覧中に1個1個アドセンスタグを入れる。
そんな疲れそうな入れ方はしたくなかったので、
自動でタグが入る方法をメモ。
(前も同じようなことしたような…過去ログもご覧あれ)
今回は主にインフィードとして、他の記事一覧に馴染んでしまうタグを使います。
挿入箇所
下図のように2記事間隔でアドセンスを挟むように実装します。
対象ファイル
- functions.php
- index.php
- home.php
- archive.php
- single.php(関連記事)
- sidebar.php(NEWエントリー)
functions.php
共通的なタグ部分はここでまとめちゃいます。
// 記事一覧にアドセンス表示
function add_ads_blog_list() {
global $wp_query;
if(($wp_query->current_post != 0) and (($wp_query->current_post) % 2 == 0)) {
if (wp_is_mobile()) {
$ads =<<<_CODE_
<!-- ここにアドセンスのコードタグぺたーっと(モバイル) -->
_CODE_;
}
else {
$ads =<<<_CODE_
<!-- ここにアドセンスのコードタグぺたーっと -->
_CODE_;
}
}
print($ads);
}
※前はフックしていたのですが、
他の影響箇所がいくつかあるのと、表示にばらつきがあるので、
今回は別にしてます。
基本焼くなり煮るなりなんでもOKです。
一覧表示の呼び出し部分
一覧表示の部分(index.php, home.php, archive.php)は、
基本 the_post() 呼ばれた後のタイミングで、
上記 add_ads_blog_list() を挿入してます。
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php add_ads_blog_list(); ?>
他の影響部分
関連記事とNEWエントリー(single.php, side_bar.php)は
一覧表示とは異なる表示の仕方でしたので、
別途関数を作成し、呼び出しています。
基本 add_ads_blog_list() をベースにしてます。
差異が大きいものとして、判定のパラメータが $st_query に変わっていることです。
グローバルで呼ぶか?、引数で呼ぶか?「自由」です!
共通化するなり、安全に冗長するなり、管理しやすい方法で良いと思います。
参考
こちらとても参考になりました。ありがとうございました。