ワードプレス、アドセンス広告を自動で表示させたいょ?
ワードプレス
スポンサーリンク
アドセンス広告をいちいちショートタグやmoreタグで入力するのが大変!
って、正直に面倒で忘れてしまいます。
検索して試して、最終的には「Advanced Ads」に落ち着いたわけです。
だけどね、色々試したのをサクッと消すのはもったいないので、お得意の覚書と行きましょう。
スポンサーリンク
参考にしたサイトは?
まずはね、Simplicityさんでも紹介されていた「本文記事1、2、3番目のH2見出し手前にアドセンスを挿入するWordPressカスタマイズ方法」と、Simplicityさんの質問板で見つけた「下から1番目のh2タグ上に広告」と、ad-noteさんの「WordPress記事内の最初と最後のhタグ直前にアドセンスを貼る方法」を参考に混ぜてみた。
結果、何とか希望の表示になったが・・・
「Advanced Ads」使う方が良いよ!
広告みたいのがウザいけど使い慣れたらとってもいいよ!
Hタグ以外にPタグまで指定して表示できちゃうからね!
とりま、プログラマーとかオサレな職でも何でもないし、知識もないから変な感じなっているか?
functions.php
function add_ad_before_h2_for_3times1($the_content) {
//最初のH2見出し手前に広告を挿入
$ad1 = <<< EOF
///////////////////
//ここに広告
///////////////////
EOF;
//2番目の広告を挿入
$ad2 = <<< EOF
///////////////////
//ここに広告
///////////////////
EOF;
//最後のH2見出し手前に広告を挿入
$ad3 = <<< EOF
///////////////////
//ここに広告
///////////////////
EOF;
if (is_single()) { //投稿ページ
$h2 = '/^<h2.*?>.+?<\/h2>$/im'; //H2見出しのパターン
if (preg_match_all($h2, $the_content, $h2s)) { //H2見出しが本文中にあるかどうか
if ($h2s[0]) { //チェックは不要と思うけど一応
if ($h2s[0][0]) {
// 1番目のH2見出し手前にを挿入
$the_content = str_replace($h2s[0][0], $ad1 . $h2s[0][0], $the_content);
}
if (count($h2s[0]) < 3) {
// 3つ以下の時
// $the_content = str_replace($h2s[0][0], $ad2 . $h2s[0][0], $the_content);
} elseif (count($h2s[0]) == 3) {
// 3つの時
// $the_content = str_replace($h2s[0][2], $ad2 . $h2s[0][2], $the_content);
} else {
// 3つ以上の時
$the_content = str_replace($h2s[0][2], $ad2 . $h2s[0][2], $the_content);
}
if ($h2s[0][1]) {
// 最後のH2見出し手前に広告を挿入
$the_content = str_replace($h2s[0][count($h2s[0]) - 1], $ad3 . $h2s[0][count($h2s[0]) - 1], $the_content);
}
}
}
}
return $the_content;
}
add_filter('the_content', 'add_ad_before_h2_for_3times1');
後から見て分かるか心配・・・?
下はmoreタグ挿入でアドセンス広告を表示させちゃおう!ってやつ。
functions.php
//本文中の<!--more-->タグをアドセンスに置換
function replace_more_tag($the_content) {
//広告(AdSense)タグを記入
$ad = <<< EOF
///////////////////
//ここに広告
///////////////////
EOF;
$the_content = preg_replace('/(<p>)?<span id="more-([0-9]+?)"><\/span>(.*?)(<\/p>)?/i', "$ad$0", $the_content);
return $the_content;
}
add_filter('the_content', 'replace_more_tag');
どちらもfunctions.phpに書き込みしないといけないので、ちょっとでも間違えると真っ白になっちゃうのだ。
一応、プラグインを使わなくても自動でアドセンスを指定するH2タグの上に表示出来ちゃうってことです。
スポンサーリンク
まとめ
でも・・こういうのはプラグインを使った方が良いね!
分からないことに時間をかけるより、サクッ!とプラグイン!
他には「Quick Adsense」が自分的には良かったです。
シンプルで1ページ内で設定出来るから分かりやすいでした。
スポンサーリンク
この記事へのコメントはありません。