Wordpressで最初の記事にだけAdSenseを貼付ける
自分の設定だと、ホーム画面?のブログ記事の表示は wordpress/wp-content/themes/tewntyten/loop.php が行っている。なので、loop.php をこんな感じに…
<省略> <?php /* How to display all other posts. */ ?> <?php else : ?> <省略> <?php if ($wp_query->current_post == 0) : ?> <?php adsensem_ad('cotent-footer-ad'); ?> <?php endif; ?> </div><!-- #post-## --> <省略>
修正は if 文の 3行を加えただけ。他は加える場所が解るように残しておいた。
言葉にすると
<?php /* How to display all other posts. */ ?>
の else 節中の
<!-- #post-## -->
の手前に if 文の3行を加える。
ただ、場所については全くの好み。普通の記事の場合は else 節の中に入れておけば entry-content の上や entry-utility の上とか、他にも貼付ける場所は好きにできる。
この修正でやってる事は、$wp_query->current_post に何番目の記事を表示しているかを示す数字が入っているので、一番最初(数字が 0)の時にだけ AdSense を表示するようにしてる。
表示は AdSense を出すプラグイン(AdSense Manager)を呼び出してる adsensem_ad('content-footer-ad'); がそれ。
ところで、この最初の記事にだけ AdSense を表示するってのは Web で検索すると結構出てくるんだけど、自前でカウンタを作っているのが多い。せっかく $wp_query があるのにカウンタを自前で用意するのはなんだかな〜と思ったので $wp_query を参照したのだけど、この辺は何か Wordpress の決まりや php の作法とかあるのかな?
そんなわけで、Wordpress であれこれした事をここ数日間メモしていく予定。