[워드프레스] 모바일 기기 감지 함수 - wp_is_mobile()

워드프레스 모바일 기기 감지 함수 - wp_is_mobile()

wp_is_mobile() 함수는 사용자가 모바일 기기를 사용하여 방문하고 있는지를 체크하는 Boolean 함수입니다(TRUE 또는 FALSE 반환).  즉, 현재 브라우저가 모바일 기기(스마트폰, 태블릿 등)에서 실행되고 있는지를 테스트합니다. 브라우저의 사용자 에이전트 문자열($_SERVER['HTTP_USER_AGENT'])을 감지하여 작동합니다. 이 함수에는 파라미터가 사용되지 않습니다.

사용 예시:

<?php
if ( wp_is_mobile() ) {
/* 모바일 장치용 코드 */
}
?>

모바일 장치에 대해서는 주로 CSS 미디어 쿼리를 사용하여 제어해 왔는데, 이 함수를 사용한다면 모바일 장치에 더 잘 대응할 수 있을 것 같습니다.

추가: 참고로 어떤 글에서는 wp_is_mobile 함수를 사용하지 않는 것이 좋다고 나와 있네요. 가급적 이 글에 나와 있는 코드를 이용해보시기 바랍니다.

또는, Mobile Detect라는 플러그인을 설치할 수 있습니다. 이 플러그인은 오픈 소스 MobileDetect PHP 라이브러리를 사용하여 내장 워드프레스 wp_is_mobile() 함수가 태블릿을 모바일 기기로 감지되지 않도록 버그를 수정합니다(참고).

참고:

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

4개 댓글

  1. 모바일 장치용 코드 부분에

    function custom_excerpt_length( $length ) {
    return 100;
    }
    add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

    이 코드를 넣은 후 함수 파일 저장을 하면 저장이 안되네요.

  2. wp_is_mobile() 함수는 그냥 개인 취미용 블로그 정도의 사이트라면 사용해도 됩니다. (상업용 사이트라면 사용하지 말아야 하구요.) 사용하지 말라고 하는 이유는 정확도가 떨어지기 때문인데, 그누보드의 모바일 UA detect 함수 보다는 훨씬 더 정확합니다. ㅋㅋㅋㅋ

      1. 어떤 UA 를 detect 하더라도 100% 정확할 수 는 없습니다. 제조사들 스펙이 항상 바뀌고 변경되고 그러거든요.

        그렇지만 다른 글에 질문하신 분 처럼 모바일인 경우를 찝어내는건 100% 확실하게 할 수 있는 방법이 존재합니다.


        if (/Mobi/.test(navigator.userAgent)) {
        // 모바일이네? ㅋㅋㅋ
        }

        https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent

        사실 저분 같은 경우, UA 를 찝어낼 이유가 전혀 없습니다. (css 만 할줄 알면 해결 되는 상황이거든요.)

        요즘 이메일로 질문하시는 분들이 급격히 늘어나서 저런 질문글에는 댓글달기가 싫어지네요. 쿨럭. ^^;;;

        코프레스도 내년까지 잠수를 탈까 생각 중 입니다. ㅋㅋㅋ

댓글 남기기

* 이메일 주소는 공개되지 않습니다.