好きなところにウィジェット登録したアドセンスを挿入できる機能

Simplicityの特徴 フォーラム 要望・機能追加など 好きなところにウィジェット登録したアドセンスを挿入できる機能

このトピックには13件の返信が含まれ、2人の参加者がいます。1 年、 8 ヶ月前わいひら わいひら さんが最後の更新を行いました。

  • 投稿者
    投稿
  • #55704

    田中 颯太

    ウィジェットで登録したアドセンスコードを各記事別に自分の入れたい場所に挿入できる機能を希望します。
    アドセンスコードを各記事のHTMLに直接貼り付けることも不可能ではありませんが、そうするとスマホとPCで別の広告を表示するという事が出来なくなってしまいます。
    可能であれば、記事内にショートコードを挿入することでスマホにはスマホ用のアドセンスコード、PCにはPC用のアドセンスコード、が自動的に挿入できるような機能を追加していただきたいです。
    もし、カスタマイズで解決する内容であれば、カスタマイズのカテゴリーで新たに質問を立てます。
    お忙しいところ申し訳ありませんが、なにとぞお願いいたします。

  • #55713
    わいひら
    わいひら
    キーマスター

    functions.phpに以下を追記で実装出来るっぽい。

    //[ad]ショートコードに対して広告を表示する
    if ( !function_exists( 'replace_ad_shortcode_to_advertisement' ) ):
    function replace_ad_shortcode_to_advertisement($the_content){
      $ad_shortcode = '[ad]';
      ob_start();//バッファリング
      get_template_part('ad');//広告貼り付け用に作成したテンプレート
      $ad_template = ob_get_clean();
      $the_content = str_replace('<p>'.$ad_shortcode.'</p>', $ad_template, $the_content);
      $the_content = str_replace($ad_shortcode, $ad_template, $the_content);
      return $the_content;
    }
    endif;
    add_filter('the_content', 'replace_ad_shortcode_to_advertisement');

    機能として追加するかは、検討中。

  • #55714
    わいひら
    わいひら
    キーマスター

    こっちの方がより良いかも。

    //[ad]ショートコードに対して広告を表示する
    if ( !function_exists( 'replace_ad_shortcode_to_advertisement' ) ):
    function replace_ad_shortcode_to_advertisement($the_content){
      $ad_shortcode = '[ad]';
      ob_start();//バッファリング
      get_template_part('ad');//広告貼り付け用に作成したテンプレート
      $ad_template = ob_get_clean();
      $the_content = preg_replace('{^(<p>)?'.preg_quote($ad_shortcode).'(</p>)?$}m', $ad_template, $the_content);
      return $the_content;
    }
    endif;
    add_filter('the_content', 'replace_ad_shortcode_to_advertisement');
  • #55715
    わいひら
    わいひら
    キーマスター

    使い方としては、本文中の一行に対して以下のようにショートコードを記入します。

    [ad]

    ↑これが広告に置換されます。

    ちなみに、以下のように文中のショートコードは反映されない仕様です。

    文中に[ad]を挿入しても変換されない。

    #55713のコードを利用した場合

  • #55716

    田中 颯太

    PCページ、スマホページでは正常に機能しましたが、AMPページでスポンサーリンクという文字列だけが表示される状態になってしまいました。
    初めに質問した時にAMPを使用していないような書き方をしてしまいすみません。
    AMPを含めると複雑になるかと思い、そのように書きましたが、AMP画面でスポンサーリンクという文字が表示されないようにするにはどのようにしたらいいでしょうか。
    欲を言えば、AMP画面でも[ad]コードで表示できるようになると助かります。
    自分でも少し弄って見たのですが、成功できませんでした。
    お願いいたします。

  • #55717

    田中 颯太

    もう少し自分で試した結果、解決する事が出来ました。
    有難うございす。
    とても感謝しております。

  • #55719

    田中 颯太

    すみません。
    できたと思ったのですが、どうしてスポンサーリンクの文字が二重になってしまいます。

  • #55721

    田中 颯太

    なんども厚かましく質問する形になって申し訳ありません。
    色々試したところ、私の中での一番の理想はショートコードで挿入するための専用の機能が適しているという結論に至りました。
    理想の広告体系としては、記事下ウィジェットでダブルレクタングルを全ての記事において固定して使用し、記事中の広告は各記事で異なった場所にショートコードで挿入できるようにすることです。ショートコードはamp、スマホ、pc全てにおいて適用されるのが理想です。
    可能であればで構いませんのでお願いいたします。

  • #55728
    わいひら
    わいひら
    キーマスター

    AMPページも対応するには、こんな感じでいけるかと思います。

    //[ad]ショートコードに対して広告を表示する
    if ( !function_exists( 'replace_ad_shortcode_to_advertisement' ) ):
    function replace_ad_shortcode_to_advertisement($the_content){
      $ad_shortcode = '[ad]';
      ob_start();//バッファリング
      if (is_amp()) {
        get_template_part('ad-amp');//AMP用広告コート
      } else {
        get_template_part('ad');//通常ページ用広告コード
      }
      $ad_template = ob_get_clean();
      $the_content = preg_replace('{^(<p>)?'.preg_quote($ad_shortcode).'(</p>)?$}m', $ad_template, $the_content);
      return $the_content;
    }
    endif;
    add_filter('the_content', 'replace_ad_shortcode_to_advertisement');
  • #55729
    わいひら
    わいひら
    キーマスター

    AMPページは気をつけないと、アドセンスポリシー違反になる可能性も高そうなので、一応AMPページでは広告を表示しないバージョンのコードも掲載。

    //[ad]ショートコードに対して広告を表示する
    if ( !function_exists( 'replace_ad_shortcode_to_advertisement' ) ):
    function replace_ad_shortcode_to_advertisement($the_content){
      $ad_shortcode = '[ad]';
      ob_start();//バッファリング
      if (is_amp()) {
        //get_template_part('ad-amp');//AMP用広告コート
      } else {
        get_template_part('ad');//通常ページ用広告コード
      }
      $ad_template = ob_get_clean();
      $the_content = preg_replace('{^(<p>)?'.preg_quote($ad_shortcode).'(</p>)?$}m', $ad_template, $the_content);
      return $the_content;
    }
    endif;
    add_filter('the_content', 'replace_ad_shortcode_to_advertisement');
  • #55734

    田中 颯太

    こんばんは。
    試してみたところ、コンテンツ部分が丸々消えてしまうという結果になりました。

  • #55739
    わいひら
    わいひら
    キーマスター

    コピペ時、不要なコードを削除したとき、必要なものも削除してしまったみたい。
    修正しておきました。

  • #55740

    田中 颯太

    pc,スマホ,ampのすべてにおいて理想の形が出来上がりました。
    テーマ自体が素晴らしい上に、これほどにまでサポートが充実していている無料テーマは他にないと思います。
    とても感謝しております。
    これからもよろしくお願いします。

  • #55747
    わいひら
    わいひら
    キーマスター

    うまくいったようでよかったです^^

トピック「好きなところにウィジェット登録したアドセンスを挿入できる機能」への新規返信追加は締め切られています。

スポンサーリンク
アドセンス(大)
アドセンス(大)