• 解決済 kitakarasu

    (@kitakarasu)


    画面が小さいスマフォの画面では,表示する広告を少なくしたいです。
    PHPのファンクションとショートコードを使って,
    画面の大きさを判断して,640ピクセル以上の画面だった場合にのみ
    表示されるショートコードを作りました。

    function faaa(){
    if(screen.width>=640){return’
    ここに広告HTMLタグを入れる

    ;}}
    add_shortcode(‘caaa’,’faaa’);

    上記をfunction.phpに入れて,ショートコード[caaa]を固定ページに入れれば,
    パソコン画面では広告が表示されて,スマフォでは表示されないと
    思ったのですが,
    結果は,いずれでも表示されません。
    640のところを0にすれば,パソコン,スマフォのどちらでも表示されます。

    質問。
    PHPのファンクションで,画面の大きさを判断して,スマフォの画面なら
    表示させないような,判断文を教えてください。

    PHPが習得できていないのに作ろうとしているもので,よくわかっていません。
    お願いします。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • 判定するだけ?

    640のところを0にすれば,パソコン,スマフォのどちらでも表示されます。

    判定しているから両方共表示しているのでしょう。

    モデレーター Seisuke Kuraishi

    (@tenpura)

    PHP と JavaScript がごっちゃになってしまっているようですね。そして kitakarasu さんが行いたいことは CSS だけで簡単にできることでもあります。似たようなトピックがありますので参考にしてください。

    トピック投稿者 kitakarasu

    (@kitakarasu)

    맹조さん
    まさに,判定がうまくできていないので,思い通りの表示にならないです。

    Seisuke Kuraishi (tenpura)さん
    「PHP と JavaScript がごっちゃになってしまっているようですね」
    はい。いろんな解説ページを組み合わせて作ったのですが,
    screen.widthは,JavaScriptを解説したページでした。

    「似たようなトピック」を見て,
    screen.width>=640を!wp_is_mobile()に変えたら,
    目的のようになりました。

    ありがとうございました。

    トピック投稿者 kitakarasu

    (@kitakarasu)

    Seisuke Kuraishi (tenpura)さん

    「CSS だけで簡単にできることでもあります」
    できれば,その方法を教えてください。

    以前,このフォーラムで質問して,
    https://ja.forums.wordpress.org/topic/157987?replies=3
    パソコンでは左右に並んでいるページを,スマフォでは
    上下に並ぶような設定を教えていただきました。

    同じようにCSSで,パソコンだけで表示される記述を教えてください。

    固定ページでは,
    <div id=”pconly”>
    パソコンでこのページを見ている人へのお知らせ
    </div>
    として,

    CSSで,
    @media screen and (max-width: 640px) {
    #pconly{

    }
    }
    とする{}の中にどのように書けばいいのでしょうか。

    お願いします。

    #pconly{
    display: block;
    }
    ですけど、
    max-width: 640pxだと、640pxまでになっちゃいますよ。minですね。

    トピック投稿者 kitakarasu

    (@kitakarasu)

    totomacさん

    あれ?
    blockでは消えません。displayのコード解説を見て,noneにしたら消えました。
    maxはmaxのままでいいみたいです。

    @media screen and (max-width: 640px) {
    #pconly{
    display: none;
    }
    }

    で,できました。
    PHPだと,ファンクションがやたらと増えるので困ったことだと思っていましたが,
    CSSですっきりしました。
    ありがとうございました。

    メディアクエリは、PCをベースにタブレット、スマホと対応するように書かれているケースと、その逆にスマホを優先してデザインしているケースが有ることを、自分のテーマではどちらなのか置き換えながら説明を判断しましょう。

    ◯◯だったら、表示する。
    ◯◯だから、隠す。の違いです。

    自分はモバイルファーストが基準だったのですが、逆のようでしたね。
    失礼しました。

    トピック投稿者 kitakarasu

    (@kitakarasu)

    맹조さん

    プログラムはむずかしいですね。いつも試行錯誤の連続です。

    totomacさん
    助言があったからできたことです。これからもよろしくお願いします。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「パソコンの大きな画面だけに表示するコードをPHPのファンクションで」には新たに返信することはできません。