見出し画像

Wordpress苦闘メモ:目次の下にアドセンスを表示させたい

function.phpを使って、アドセンスをh2の挿入毎に表示させる記述をしてましたが、目次の上にアドセンスが表示されるのが悩みの種でした。
なので以下のようにfunction.phpを1ブロック削除し、2つ目のh2タグからアドセンスが表示されるようにまずは改変。



// カスタマイズでコードを追記する場合はここよりも下に記載してください

function add_ad_before_h2_for_3times($the_content) {
//広告(AdSense)タグを記入
$ad = <<< EOF

<div align="center">【広告】</div>

<!-- 記事内広告 -->
<ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-8404153388928647" data-ad-slot="4581469532"></ins>
<script>
    (adsbygoogle = window.adsbygoogle || []).push({});
</script>
<br>

EOF;

if ( is_single() ) {//投稿ページ
$h2 = '/^<h2.*?>.+?<\/h2>$/im';//H2見出しのパターン
if ( preg_match_all( $h2, $the_content, $h2s )) {//H2見出しが本文中にあるかどうか
if ( $h2s[0] ) {//チェックは不要と思うけど一応
if ( $h2s[0][1] ) {//2番目のH2見出し手前に広告を挿入
$the_content = str_replace($h2s[0][1], $ad.$h2s[0][1], $the_content);
}
if ( $h2s[0][2] ) {//3番目のH2見出し手前に広告を挿入
$the_content = str_replace($h2s[0][2], $ad.$h2s[0][2], $the_content);
}
if ( $h2s[0][3] ) {//4番目のH2見出し手前に広告を挿入
$the_content = str_replace($h2s[0][3], $ad.$h2s[0][3], $the_content);
}
}
}
}
return $the_content;
}
add_filter('the_content','add_ad_before_h2_for_3times');

次に下記のURLを参考に「AD Inserter」プラグインを導入。
https://wp-oneday.com/%E8%A8%98%E4%BA%8B%E3%81%AE%E7%9B%AE%E6%AC%A1%E3%81%AE%E4%B8%8B%E3%81%AB%E5%BA%83%E5%91%8A%EF%BC%88Adsense%E7%AD%89%EF%BC%89%E3%82%92%E8%B2%BC%E3%82%8B%E6%96%B9%E6%B3%95/
サイトの説明通りに進めて、無事に目次の下にアドセンスが来るように修正しました。

この記事が気に入ったらサポートをしてみませんか?