5件の返信を表示中 - 1 - 5件目 (全5件中)
  • hide

    (@hideokamoto)

    これはサイト単位ですか?ページ単位ですか?
    ページ単位ならばwp_is_mobile関数で処理振り分けが可能です。
    http://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_is_mobile

    トピック投稿者 kurakuramen

    (@kurakuramen)

    Okamoto Hidetaka様
    ありがとうございます。助かります。

    kurakuramenさん

    求められる環境によりますが
    ipad等のタブレットをPCと認識させるかモバイル端末と認識させるかでちょっと異なります。
    ipad等のタブレット=モバイル端末ならばOkamoto Hidetakaさんのおっしゃる通り
    「wp_is_mobile」がベストかと思われます。

    ただ、ipad等のタブレット=PCと認識したい場合はfunctions.phpに定義が必要です。

    function is_mobile(){
        $useragents = array(
            'iPhone', // iPhone
            'iPod', // iPod touch
            'Android', // 1.5+ Android
            'dream', // Pre 1.5 Android
            'CUPCAKE', // 1.5+ Android
            'blackberry9500', // Storm
            'blackberry9530', // Storm
            'blackberry9520', // Storm v2
            'blackberry9550', // Storm v2
            'blackberry9800', // Torch
            'webOS', // Palm Pre Experimental
            'incognito', // Other iPhone browser
            'webmate', // Other iPhone browser
            'phone' // Other phone
        );
        $pattern = '/'.implode('|', $useragents).'/i';
        return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
    }

    って感じで行うとipadは含みません。
    ユーザーエージェントの定義は頻繁にアップデートされますので
    再定義(追加)が必要です。

    使用方法は

    <?php if(is_mobile): ?>
    モバイルのみ
    <?php else : ?>
    PCとipad等
    <?php endif; ?>

    って感じで分岐が可能です

    また、ちょっと工夫すると
    例えばsingleページに適応したい場合は
    single.phpに

    <?php
    if (is_mobile()) {
    	/* モバイル時の投稿 */
    	include(TEMPLATEPATH . '/single_mobile.php');
    } 
    
     else {
       /* 他のカテゴリの投稿 */
       include(TEMPLATEPATH . '/single_def.php');
    }
    ?>

    って書いてあげると「single_mobile.php」と「single_def.php」を判別してスイッチしてくれます。(テンプレートフォルダに「single_mobile.php」と「single_def.php」をアップする必要あり)

    ご参考までに

    入力に間違いがありました

    <?php
    if (is_mobile()) {
    	/* モバイル時の投稿 */
    	include(TEMPLATEPATH . '/single_mobile.php');
    } 
    
     else {
       /* スマホ以外のの投稿 */
       include(TEMPLATEPATH . '/single_def.php');
    }
    ?>

    ですね。

    トピック投稿者 kurakuramen

    (@kurakuramen)

    mura0403様

    なるほど、助かります。

    ありがとうございます。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「特定の固定ページだけスマホとPCに分ける方法」には新たに返信することはできません。