小説家になろうにて「キモオタでギャルゲー、それって何の罰ゲーム!?」連載中!

Luxeritasで最後のH2手前にウィジェットエリアを作成してAdSenseを表示する

Luxeritas
この記事は約4分で読めます。

本稿では、Luxeritasの最後のH2手前にアドセンス用のウィジェットエリアを作成する方法を記します。

最後のH2手前はサイト離脱に近いポイント。
個人的には最初のH2と並んでアドセンスを置くのが有効な場所と考えています。

スポンサーリンク
この記事を読む方へのオススメ

コード

次のコードを子テーマのfunctions.phpに貼りつけてください。
貼りつける位置は一番下で大丈夫です。

/* 最後のH2タグ手前にウィジェットエリア追加 */
if (function_exists('register_sidebar')){
register_sidebar(array(
'name' => '投稿内で最後に見つかったH2タグの上',
'id' => 'last-h2-title',
'description' => '投稿内で一番最後に見つかったH2タグの上にウィジェットを配置します。',
'before_widget' => '<div id="%1$s" class="widget last-h2-title %2$s">',
'after_widget' => '</div>',
'before_title' => '',
'after_title' => ''
));
}

/////////////////////////////////////
// 投稿本文中の下にウィジェットを表示する
/////////////////////////////////////
if ( !function_exists( 'add_widget_before_2nd_h2' ) ):
function add_widget_before_2nd_h2($the_content) {
if ( is_single() && //投稿ページのとき、固定ページも表示する場合はis_singular()にする
is_active_sidebar( 'last-h2-title' ) //ウィジェットが設定されているとき
) {
// 投稿本文中の下タグを記入
ob_start();//バッファリング
dynamic_sidebar( 'last-h2-title' );// 投稿本文中の下ウィジェットエリアの表示
$ad_template = ob_get_clean();
$h2 = '/^<h2.*?>.+?<\/h2>$/im';//H2見出しのパターン
if ( preg_match_all( $h2, $the_content, $h2s )) {//H2見出しが本文中にあるかどうか
if ( $h2s[0] ) {//チェックは不要と思うけど一応
if ( $h2s[0][1] ) {//H2が2個以上なら最後のH2見出し手前に挿入
$the_content = str_replace($h2s[0][count($h2s[0]) - 1], $ad_template.$h2s[0][count($h2s[0]) - 1], $the_content);
}
}
}
}
return $the_content;
}
endif;
add_filter('the_content','add_widget_before_2nd_h2');

注意点として、ampには対応していません。
(私はampを使っていないので必要ない)

スポンサーリンク

説明

参考記事

参考にしたのはこちらの記事です。

Cocoonで最後H2上にウィジェットエリアを追加するカスタマイズ | 真宗興正派 円龍寺
無料ワードプレステーマCocoonに投稿本文記事の最後見出しH2の上にウィジェットエリアをプラグインなしで追加する方法を紹介。子テーマのfunctions.ph...

この手のカスタマイズの原点となる記事はこちら。
あわせて目を通しておくと勉強になります。

本文記事1、2、3番目のH2見出し手前にアドセンスを挿入するWordPressカスタマイズ方法
1年ほど前、最初のH2見出し手前に広告を表示する方法を考えてみました。 この方法は、現在自分のテーマでも利用し…

コードの意味について知りたい方はこちらの記事がおすすめです。

Googleアドセンス、H2タグ(見出し)の前に広告を自動追加する方法
Googleアドセンス、H2タグ(見出し)の前の広告 上記画像の 「Cocoon、ウィジェットエリアはどこで定義されているか?」 の部分がH2見出しです。 「ア...

ウィジェットエリア追加部分

ウィジェットエリア追加部分はLuxeritasの「最初のH2手前」エリアとあわせています。
アドセンスを設置するのが前提なので「’before_title’ => ”, ‘after_title’ => ”」は空白です。
もしアドセンス以外のウィジェットを設置かつタイトルをつけるのであれば指定してください。

ウィジェット表示部分

参考記事にあるコードをLuxeritasにそのまま貼りつけても動きません。
理由はLuxeritasとCocoonでamp出し分けの方法が違うためと思われるので、当該箇所を削除。
echoで返す部分も不要なので削除しています。

スポンサーリンク

最後に

質問者の写真

調べていて、Cocoonの情報の多さが羨ましくなったよ……
誰かが書いていればコピペするだけでいいから、自分で備忘録を書く必要ないもの……
ブログやサイトを始めたい・引っ越したい方へ

レンタルサーバーWING。
KUSANAGI&WEXALが使えるVPS。
どちらでも高速でコスパに優れたConoHaで始めるのがおすすめです。
もっと知りたい方はボタンをクリックしてください。
(ボタン経由で入会した場合、1000円分のクーポンがもらえます)

この記事を書いた人

広島市内のパチンコホール勤務。
3号機時代からのパチンカス。
ADHD、精神障害者手帳3級所持。
慶應義塾大学商学部卒、専攻はマーケティング(広告・宣伝)
国家一種試験経済職の資格で公安調査庁に入庁。
在職時は国際テロ、北朝鮮を担当。
「小説家になろう」の底辺作者。
WordPress記事は素人の備忘録です。

天満川鈴をフォローする
Luxeritas
スポンサーリンク

コメント

タイトルとURLをコピーしました