【WordPress】プラグインなしでアドセンス広告を自動挿入する方法

プラグインなしで広告を自動挿入する

wordpress 広告自動挿入
WordPressの広告を自動挿入するときにプラグインなしでやる方法を紹介します。とはいってもネット上にはすでにこの情報はでているのですが、ところどころなにか情報が抜けている気がしたので、補足するつもりでかいていこうかと思います。

プラグインなしで広告を挿入するには下記の作業が必要になります。

プラグインなしで広告を挿入するには
  • WordPressのダッシュボードから「外観」→「テーマの編集」にすすむ。function.phpを編集できる状態にする
  • function.phpに広告を自動挿入するコードを貼り付ける
  • スマホとPCどちらに広告を挿入したいのかを決めてコードを作成する

たったこれだけの作業なのですが、意外に小難しい作業があります。phpは編集を失敗するとブログが開けなくなることがあります。そのためfunction.phpを編集するときは必ずなんらかの形でバックアップをとっておくことをお勧めします。

またできればFTPとかの知識がすこしでもあると失敗したときに復旧しやすくなるかもしれません。上記の手順を解説していきます。

function.phpを編集できる状態にする

fnction.phpはWordPressダッシュボードの「外観」→「テーマの編集」→「function.php」から開くことができます。おつかいのワードプレステーマによってわずかな違いはあるかもしれませんが、おそらくどのテーマにも「function.php」は入っていると思われます。

function.phpに広告を自動挿入するコードを貼り付ける

小難しい話はあとでするとしてまずはコードをみていただければと思います。

// 本文中にアドセンス表示
function add_ads_before_h2($the_content) {
if (is_single()) {
$ads = <<< EOF

【ここにアドセンスコードを貼り付けます】

<div style="clear:both"></div>
EOF;
	$h2 = '/^.+?<\/h2>$/im';//H2見出しのパターン

	if ( preg_match_all( $h2, $the_content, $h2s )) {
		if ( $h2s[0] ) {

			// 1つ目のh2見出しの上にアドセンス挿入
			if ( $h2s[0][0] ) {
				$the_content  = str_replace($h2s[0][0], $ads.$h2s[0][0], $the_content);
			}

                        /* 3つ目のh2見出しの上にアドセンス挿入
			if ( $h2s[0][2] ) {
				$the_content  = str_replace($h2s[0][2], $ads.$h2s[0][2], $the_content);
			}*/

		}
	}
}
return $the_content;
}
add_filter('the_content','add_ads_before_h2');

コードの解説

このコードはPHPでかかれています。分からない人には記号の羅列に見えるかもしれませんが、注目すべきは3行目と6行目と16行目です。

3行目のif(is_single())という条件分岐は個別投稿ページにのみコードを反映させるという意味になります。

6行目にはお使いのアドセンス広告を貼り付けます

16行目がポイントで1つ目のh2タグの上に広告が挿入されるコードになっています。3つ目のh2タグの上に広告を挿入したい場合はコードの数字をかえる必要がある点に注目です。なのでどこに挿入したいかによって、コードを若干ですが編集する必要があるのです。

スマホページとPCページで広告の自動挿入をわけたいとき

WordPressで広告に自動挿入するときにPCでは表示させたくないが、スマホページでは広告を挿入させたいといった要望がでてくることがあります。これを実現するにはコードを編集する必要があります。といっても簡単で。WordPressに独自の条件分岐タグがあり、この知識があれば簡単にコードを編集することができますので下記に示します。

WordPressのスマホページPCページの条件分岐構文
  • if ( wp_is_mobile() ) → スマホページに適用
  • if ( !wp_is_mobile() ) → PCページに適用

上記の知識をふまえて、もしスマホページだけに広告を自動挿入させたいんだったら下記のようなコードになります。

function add_ads_before_h2($the_content) {
if (is_single()) {
$ads = <<< EOF
 
【ここにアドセンスコードを貼り付けます】
 
<div style="clear:both"></div>
EOF;
    $h2 = '/^.+?<\/h2>$/im';
if(wp_is_mobile()){
    if ( preg_match_all( $h2, $the_content, $h2s )) {
        if ( $h2s[0] ) {
            // 1つ目のh2見出しの上にアドセンス挿入
            if ( $h2s[0][0] ) {
                $the_content  = str_replace($h2s[0][0], $ads.$h2s[0][0], $the_content);
            }
        }
    }
}
}
return $the_content;
}
add_filter('the_content','add_ads_before_h2');

プラグインなしで広告を自動挿入 まとめ

コードをfunction.phpに貼り付けると広告が自動挿入されます。若干とりとめのない記事になりましたが、やってみればわかるかと思います。またWordPressの独自条件分岐構文に関しては下記のサイトをみるとわかりやすいかもしれないです。
便利なWordPressの条件分岐16パターン:カスタマイズで活躍するものを厳選!

どの見出しに挿入するかによってコードの数字を変えないといけないのでちょっと難しいかもしれないですが是非チャレンジしてみてください


Warning: Undefined array key "thumbnail_url" in /home/users/1/boy.jp-rolpop/web/skc/wp-content/themes/godios/inc/schema-org.php on line 49

Warning: Undefined array key "thumbnail_url" in /home/users/1/boy.jp-rolpop/web/skc/wp-content/themes/godios/inc/schema-org.php on line 78