プラグインなしで広告を自動挿入する
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に独自の条件分岐タグがあり、この知識があれば簡単にコードを編集することができますので下記に示します。
- 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パターン:カスタマイズで活躍するものを厳選!
どの見出しに挿入するかによってコードの数字を変えないといけないのでちょっと難しいかもしれないですが是非チャレンジしてみてください
コメント