お知らせ「WEXAL導入およびテーマ変更作業に伴う不具合について」

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.phpにコードを1回コピペするだけ。新しいウィジェットエリアにはアドセンス広告も問題なく設置できる。

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

本文記事1、2、3番目のH2見出し手前にアドセンスを挿入するWordPressカスタマイズ方法
Google AdSense広告を投稿本文中に全て表示させるWordpressカスタマイズ方法です。パフォーマンスとユーザビリティーの兼ね合いに注意する必要があります。

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

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

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

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

ウィジェット表示部分

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

スポンサーリンク

最後に

質問者の写真

調べていて、Cocoonの情報の多さが羨ましくなったよ……
誰かが書いていればコピペするだけでいいから、自分で備忘録を書く必要ないもの……
author

広島市内のパチンコホール勤務。
3号機時代からのパチンカス。
ADHD、精神障害者手帳3級所持。
慶應義塾大学商学部→国家一種経済職→公安調査庁。
在職時は国際テロ、北朝鮮を担当。
「小説家になろう」の底辺作者。朝鮮総聯へのスパイ工作を描いた小説「キノコ煮込みに秘密のスパイスを」はアマチュア小説ながら週刊誌報道され、話題となった。
WordPress記事は素人の備忘録です。

天満川鈴をフォローする
Luxeritas
スポンサーリンク
きもおたねっと。
タイトルとURLをコピーしました