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

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

13件の返信スレッドを表示中
  • 投稿者
    投稿
    • #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
      わいひらわいひら
      キーマスター

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

13件の返信スレッドを表示中
  • トピック「好きなところにウィジェット登録したアドセンスを挿入できる機能」には新しい返信をつけることはできません。
スポンサーリンク
アドセンス(大)
アドセンス(大)