두개의 메인페이지를 만들고 싶은데요

두개의 메인페이지를 만들어서 

하나는 웹에서 

하나는 모바일에서만 보이게 하고 싶습니다 

preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]) && header('Location: https://google.com/');

요런코드를  테마편집기에 넣으면 작동이 될꺼라고 하던데 작동을 안하네요 뭐가 문제일까요 

아이폰으로 테스트했는데 구글페이지로 넘어가지 않더라구요 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    워드프레스 내장 함수인 wp_is_mobile 함수를 활용하시면

    접속한 기기가 모바일인지 체크하실 수 있습니다.

     

    새로 만든 파일을 모바일일 때 표시되게 하시려면 include를 활용하거나

    wp_redirect 함수를 활용해서 특정 페이지로 이동하게 하실 수 있습니다.

     

    이전에 비슷한 문의가 있었습니다.

    아래 링크를 참고해보시겠어요?

    https://www.cosmosfarm.com/threads/document/33950

    고맙습니다.

  • 네 말씀하신 링크타고 가서 있는 코드를 복사해서 php 파일 생성후 넣어봣는데요 

     

     

    Warning: include(/www_root/wp-content/themes/em4u/my-mobile.php): failed to open stream: No such file or directory in /www_root/wp-content/themes/em4u-child/functions.php on line 91

    Warning: include(/www_root/wp-content/themes/em4u/my-mobile.php): failed to open stream: No such file or directory in /www_root/wp-content/themes/em4u-child/functions.php on line 91

    Warning: include(): Failed opening '/www_root/wp-content/themes/em4u/my-mobile.php' for inclusion (include_path='/www_root/wp-content/plugins/kboard/htmlpurifier/standalone:/www_root/wp-content/plugins/cosmosfarm-members-google-login/google-api-php-client/vendor/phpseclib/phpseclib/phpseclib:.:/usr/local/php73/lib/php') in /www_root/wp-content/themes/em4u-child/functions.php on line 91

    모바일에서 요런 메세지가 뜨네요 ~ 어디가 잘못된걸까요..

  • No such file or directory 메시지는 include 하는 파일이나 디렉토리가 없을 때 표시됩니다.

    /wp-content/themes/em4u/my-mobile.php 파일이 실제 존재하는지 확인해보시겠어요?

    파일 경로를 잘 확인하셔서 코드를 수정해보세요.

    고맙습니다.

  • 차일드 테마말고  부모 테마에 저 php 를 넣으니작동하는거 같은데 

    원래 그런가요? 

  • 차일드 테마 쪽에 코드를 추가할 경우

    get_template_directory 함수 대신 get_stylesheet_directory 함수를 활용해보시겠어요?

    고맙습니다.

  • 네 됩니다 

    근데 다른 문제가 생겼어요 

     

    <!DOCTYPE html> <html class="no-js" <?php language_attributes()?>> <head> <meta charset="<?php bloginfo('charset'); ?>"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="profile" href="http://gmpg.org/xfn/11" /> <?php if(is_singular() && pings_open(get_queried_object())):?> <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>"/> <?php endif; ?> <?php wp_head(); ?> </head>

    요 코드와 

    <?php

    header("Location: http://runninggogo.com/main2");

    die();

    ?>

     

    cs


    요 코드로  리다이렉션을 시켰는데요   

    이제는 너무 많은 재이동이 있었기때문에  해당페이지를 열수 없다고 합니다 

    메인페이지를 듀플리케이트로 복사해서 MAIN2 라고 변형하고 그경로로 이동하게끔 했거든요

    그래서 자꾸 뺑뺑 도는 걸까요? 
     

  • 올려주신 내용만으로는 저희 쪽에서 원인을 파악하기 어렵습니다.

    추가한 파일에서 페이지 이동을 하게 한 이유가 있으신지요?

    너무 많은 재이동이 있었기 때문에 해당 페이지를 표시할 수 없는 문제는

    페이지 이동 시 동일한 페이지로 요청을 했을 가능성이 높습니다.

    template_redirect 액션에 wp_redirect 함수를 활용해서도 페이지 이동이 가능합니다.

    상황에 맞게 코드를 수정해주셔야 할 듯합니다.

    고맙습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기