KUSANAGI MAGAZINEで「きもおたわーどぷれす。」が紹介されました! クリックで公式サイトが開きます。

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

この記事は約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の情報の多さが羨ましくなりました。
誰かが書いていればコピペするだけでいいから、自分で備忘録を書く必要ないので……。

サイトを始めたい・引っ越したい方へ

おすすめレンタルサーバー「ConoHa WING」
Webサーバー処理速度 国内最速!
サイト管理・カスタマイズのタイパも抜群!
自動化AIのWEXALによって他社より負担を減らせます
各種キャンペーン施策によりコスパも抜群!
ConoHaに初めて入会かつ12か月以上のWINGパックなら
下のボタン経由で契約すると最大5000円の割引が受けられます

この記事を書いた人

素人の備忘録です。
素人がゆえにトラブルにぶつかりまくってきたので、同じように困った方の役に立てたらいいなと思ってます。
8年来のKUSANAGI推し。

元公安調査庁職員、発達障害(ADHD)

天満川 鈴をフォローする
Luxeritas
タイトルとURLをコピーしました