• 最終更新日:

アドセンスをwordpressに実装

/*********************************************************************************************/
//sideadd
/*********************************************************************************************/
document.addEventListener("DOMContentLoaded", function () {
  var elmDiv = document.createElement("div");
  elmDiv.setAttribute("class", "ad__block-sidebar");
  var spsLink = document.createElement("div");
  spsLink.innerHTML = "スポンサーリンク";
  elmDiv.appendChild(spsLink);

  var adsScr = document.createElement("script");
  adsScr.async = true;
  adsScr.src = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js";

  var adsIns = document.createElement("ins");
  adsIns.className = "adsbygoogle";
  adsIns.style.display = "block";
  /* XXX は置き換えてください */
  adsIns.dataset.adClient = "ca-pub-xxxxx";
  adsIns.dataset.adSlot = "xxxx";
  adsIns.dataset.adFormat = "auto";
  adsIns.dataset.fullWidthResponsive = "true";

  var adsGgl = document.createElement("script");
  /* []は半角に置き換えてください */
  adsGgl.text = "(adsbygoogle = window.adsbygoogle || []).push({});";
  elmDiv.appendChild(adsScr);
  elmDiv.appendChild(adsIns);
  elmDiv.appendChild(adsGgl);

  const side_toc_target = document.getElementById("side_toc_id");
  const sidebar_wrapper = document.querySelector(".sidebar-wrapper");
  if (side_toc_target != null) {
    side_toc_target.appendChild(elmDiv);
  } else if (!_ua.Mobile) {
    sidebar_wrapper.appendChild(elmDiv);
  }
});

関連記事にところ

<?php if(is_mobile()) : ?>
    <div class="ad__block-relate">
    <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    <!-- 関連記事の部分 -->
    <ins class="adsbygoogle"
    style="display:block"
    data-ad-client="ca-pub-xxx"
    data-ad-slot="xxxx"
    data-ad-format="auto"
    data-full-width-responsive="true"></ins>
    <script>
   (adsbygoogle = window.adsbygoogle || []).push({});
   </script>
   </div>
<?php endif; ?>

h2の前にコードを貼るならこちら。functions.phpに貼る。

function add_aff_before_1st_h2($the_content) {
  //web系、wordpress系なら
  if (is_single() && !is_singular( 'memo' ) ) {
    //広告(AdSense)タグを記入
    if(is_mobile()){
    $aff = <<< EOF
<div class="affi__before_h2">
<a href="https://px.a8.net/svt/ejp?a8mat=3B71TT+6S5LXM+3L4M+6QUA9" rel="nofollow">
<img border="0" width="300" height="250" alt="" src="https://www29.a8.net/svt/bgt?aid=200203265410&wid=088&eno=01&mid=s00000016735001133000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www11.a8.net/0.gif?a8mat=3B71TT+6S5LXM+3L4M+6QUA9" alt="">
</div>
EOF;
}else{
    $aff = <<< EOF
<div class="affi__before_h2">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 目次下の広告(小) -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-3228241958961820"
     data-ad-slot="6068371986"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
EOF;
}
$h2 = '/<h2.*?>/i';//H2見出しのパターン
    if ( preg_match( $h2, $the_content, $h2s )) {//H2見出しが本文中にあるかどうか
      $the_content  = preg_replace($h2, $aff.$h2s[0], $the_content, 1);//最初のH2を置換
    } //photoshop系
  }
  return $the_content;
}
add_filter('the_content','add_aff_before_1st_h2');