ブログを見ているとたまに1番最初の記事の下にだけgoogle adsenseの広告が表示されているのを見かける。前からやってみたいと思っていたので方法を調べてみた。やり方はいろいろあるようですが、私はプログラムの知識はまったくないのでできるだけ簡単で素人にもできる方法でやりました。
以下グーグルアドセンスをWORDPRESSのブログの1番最初の記事の下にだけ表示する方法
WORDPRESS管理画面内の外観のところにある「編集」でメインインデックス(index.php)を編集してやる。
index.phpの中身を見ると以下のような部分(テーマにより少し異なる)が最初ら辺にあるはずなので
if (have_posts()) : while (have_posts()) : the_post(); ?>
この部分の「 the_post();」の後に「$counter++;」を加えて以下のように書き換える
if (have_posts()) : while (have_posts()) : the_post(); $counter++; ?>
同じくindex.php内でアドセンス広告を表示させたい場所(1番目の記事のどこら辺に表示するか)に以下を貼り付ける。(試しにいろんなところに入れてみて確認しながら決めました。原始的なやり方です。)
<?php if ($counter <= 1) {
print <<<EOD
ここにアドセンスのコードを貼り付け
EOD;
} ?>
以上でアドセンス広告が1番最初の記事の下にだけ表示されました。
詳しくないのでよくわかりませんが、仕組みとしては記事の数を数えてやり、1番目のときだけ表示してやるという仕組みのようです。よってcounterのところの数を変えてやれば表示させる位置を変えることができます。
同じようにしてカテゴリ一覧、アーガイブ一覧などのページでも最初の記事の下にだけ、もしくは設定の仕方により最後から2番目の記事の下だけにアドセンス広告の表示をするなんてこともできました。
ここで書き換えたものはテーマがバージョンアップされアップデートしたら消えてしまったので、やり方をメモしておくと後で楽です。
何か間違ったときのためにinndex.phpを書き換える前にコピーしてやりました。
人気のテーマiNoveでも試したんですが以下のように書き換えると上手く行きました。
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); $counter++; update_post_caches($posts); ?>
要はindex.phpの中で
while (have_posts()) : the_post();
という部分を見つけて、その後に
$counter++;
を付け加えて
while (have_posts()) : the_post(); $counter++;
とすればいいようです。広告コードを入れる部分はどのテーマでも同じです。
以上は私が試したいくつかのワードプレスのテーマでの話なのでテーマの種類によっては上手くいかないかもしれません。こういう風に最初の記事の下(一番上の記事の下)にだけアドセンス広告を表示できるプラグインがあれば便利なんですけどね。