고수님들 디바이스마다 다른 값을 입력하는 방법이 궁금합니다 채택완료

다음 소스에서 

 

데스크탑에는 550, 태블릿은 330, 모바일은 220 입력되게 하려면 어떻게 수정해야 할까요?

 

if ( ! wc_get_theme_support( 'single_image_width' ) ) {
            $wp_customize->add_setting(
                'woocommerce_single_image_width',
                array(
                    'default'              => 600,
                    'type'                 => 'option',
                    'capability'           => 'manage_woocommerce',
                    'sanitize_callback'    => 'absint',
                    'sanitize_js_callback' => 'absint',
                )
            );

답변 2개

채택된 답변
+20 포인트

Copy
var width = document.documentElement.clientWidth;
  if (width >= 1024) { // 데스크탑
    imageWidth = 550;
  } else if (width >= 768) { // 태블릿
    imageWidth = 330;
  } else { // 모바일
    imageWidth = 220;
  }

 

너비를 구해서 ajax 등으로 보내세요

 

그리고 그누보드는 PC 와 모바일 환경을 GET 변수로 받을수 있습니다.

common 이 로드되어있다면

 

if($is_mobile){

// 모바일환경

} else {

// PC환경

}

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

php에서는 디바이스 넓이를 구할수 없습니다. 자바스크립트로 넓이를 알아낸다음 ajax로 보내줘야합니다. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

챗gpt에 물러보니 다음과 같은 메시지가 나오는데요. 방법이 있을까요?

<?php
$userAgent = $_SERVER['HTTP_USER_AGENT'];

if (strpos($userAgent, 'Mobile') !== false) {
// 모바일 디바이스일 경우
$value = '모바일 사용자입니다.';
} else {
// 데스크탑 디바이스일 경우
$value = '데스크탑 사용자입니다.';
}

echo $value;
?>

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고