サポート » 使い方全般 » 広告を携帯のみレスポンシブで表示させたい

  • 現在以下の様な記述で最初のh3タグの前にアドセンスの広告が表示されるようにしています。
    ここに携帯だけレスポンシブ表示にさせる為にはどのようなコードを記述すればいいでしょうか?

    ご教授いただけますと幸いです。
    よろしくお願いいたします。
    ————————————————–
    function add_ads_before_1st_h3($the_content) {
    if (is_single()) {
    //広告(AdSense)タグを記入
    $ads = <<< EOF
    <script async src=”//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”></script>
    <!– 広告–>
    <ins class=”adsbygoogle”
    style=”display:inline-block;width:336px;height:280px; margin: 0 auto;”
    data-ad-client=”ca-pub-1111111111111″
    data-ad-slot=”111111111″>
    <script>
    (adsbygoogle = window.adsbygoogle || []).push({});
    </script>
    EOF;
    $h3 = ‘/<h3.*?>/i’;//H3見出しのパターン
    if ( preg_match( $h3, $the_content, $h3s )) {//H3見出しが本文中にあるかどうか
    $the_content = preg_replace($h3, $ads.$h3s[0], $the_content, 1);//最初のH3を置換
    }
    }
    return $the_content;
    }
    add_filter(‘the_content’,’add_ads_before_1st_h3′);

    ————————————————–

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは

    以下のトピックのようなやり方でやれば出来るんじゃないでしょうか。

    アドセンスのレスポンシブ広告をレクタングルで表示させたい

    参考記事をお教えいただきましてありがとうございます!

    ただこちらだとお教えいただいたトピックにある以下のアドセンスコードを含めたhtml記述を広告のある全てのページに記述する必要がでてきてしまいますでしょうか?

    <div class=”pc”>
    <!– 336×280 の広告 –>
    </div>
    <div class=”sm”>
    <!– 300×250 の広告–>
    </div>

    私自身htmlとCSSの知識はあるのですがPHPの知識がなく、上記のh3の上に広告を出すPHPの記述はネットを参考にそのまま持ってきた経緯がございます。
    元からのh3の上に持ってくるというPHPの記述は活かしたままで、PHP内でアドセンスコードを含めて記述を完結できる方法がございましたらお教えいただけますと助かります。

    よろしくお願いいたします。

    @boon1 さんが最初に書いたコードのHTML(広告タグ)の部分(5〜14行目)を、そのトピックで紹介されている通りに書き換えるだけだと思いますが。
    ついでに <h3> の直前に挿入する部分もより軽そうな関数に変えておきましょうか。

    function add_ads_before_1st_h3( $the_content ) {
        if ( ! is_single() )
            return $the_content;
        $ads = <<< EOF
    <div class="pc">
    <!–- 336×280 の広告 -–>
    </div>
    <div class="sm">
    <!–- 300×250 の広告 -–>
    </div>
    EOF;
        $h3 = strpos( $the_content, '<h3' );
        if ( $h3 !== false )
            $the_content = substr_replace( $the_content, $ads . '<h3', $h3, 3 );
        return $the_content;
    }
    add_filter( 'the_content', 'add_ads_before_1st_h3' );

    このコードの5〜10行目がそのタグを書く場所です。

    書き換え方法と関数の記述も作成いただきましてありがとうございます!

    こちらを記述したところsyntax errorで画面が表示されなくなってしまったのですが、恐らくここ最近functions.phpをいじるとエラーが出る事象が続けて起きており、該当箇所を全削除してもエラーが出てしまったりしておりました。

    何か他に色々作用している原因がありそうなので、分かる限り解決して再度こちらのコードで記述させていただきます。

    色々と親切にしていただきましてありがとうございます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「広告を携帯のみレスポンシブで表示させたい」には新たに返信することはできません。