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

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

하나는 웹에서 

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

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 함수를 활용해서도 페이지 이동이 가능합니다.

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

    고맙습니다.

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