현재 위치: > 최신 기사 목록> 로컬 일몰 정보를 표시하기 위해 WordPress 플러그인에 Date_Sunset ()를 포함

로컬 일몰 정보를 표시하기 위해 WordPress 플러그인에 Date_Sunset ()를 포함

M66 2025-05-31

WordPress 플러그인을 개발할 때는 종종 일출 및 일몰 시간과 같은 사용자의 지리적 위치를 기반으로 동적 컨텐츠를 제공해야합니다. PHP의 자체 DATE_SUNSET () 함수는 일몰 시간을 쉽게 계산할 수 있습니다. 그러나 사용자의 "로컬"일몰 시간을 실시간으로 표시하려면 일부 포지셔닝 기술이 필요합니다.
이 기사를 사용하면 WordPress 플러그인에 Date_Sunset () 을 임베드하고 일몰 시간을 동적으로 표시 할 수 있습니다.

1 단계 : 사용자의 지리적 위치 얻기 (위도 및 경도)

PHP는 서버 측에서 실행되며 사용자 장치의 지리적 위치에 직접 액세스 할 수 없습니다. 따라서 사용자의 위도와 경도를 얻으려면 JavaScript를 사용하고 AJAX를 통해 정보를 서버로 전달해야합니다.

 // 플러그인 마스터 파일 또는 특정 PHP 파일에 추가하십시오
function m66net_enqueue_location_script() {
    wp_enqueue_script('m66net-location-script', 'https://m66.net/js/location.js', array('jquery'), null, true);
    
    // 통과하다 wp_localize_script 묶음 AJAX URL 전달 JS
    wp_localize_script('m66net-location-script', 'm66net_ajax_object', array(
        'ajax_url' => admin_url('admin-ajax.php')
    ));
}
add_action('wp_enqueue_scripts', 'm66net_enqueue_location_script');

location.js 파일의 예 ( https://m66.net/js/location.js 에 저장) :

 jQuery(document).ready(function($){
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(function(position) {
            $.post(m66net_ajax_object.ajax_url, {
                action: 'm66net_send_location',
                latitude: position.coords.latitude,
                longitude: position.coords.longitude
            }, function(response) {
                $('#m66net-sunset-time').html(response);
            });
        });
    } else {
        $('#m66net-sunset-time').html('위치 정보를 얻을 수 없습니다');
    }
});

2 단계 : AJAX 요청 및 일몰 시간을 계산합니다.

다음으로 WordPress에서 사용자 지리적 위치 정보를 처리하고 일몰 시간을 반환하는 AJAX 인터페이스를 만듭니다.

 function m66net_calculate_sunset() {
    if (isset($_POST['latitude']) && isset($_POST['longitude'])) {
        $latitude = floatval($_POST['latitude']);
        $longitude = floatval($_POST['longitude']);
        
        $timestamp = time();
        
        $sunset = date_sunset($timestamp, SUNFUNCS_RET_STRING, $latitude, $longitude, 90.583333, date('Z') / 3600);
        
        echo '당신의 현지 일몰 시간입니다:' . $sunset;
    } else {
        echo '일몰 시간을 계산할 수 없습니다';
    }
    wp_die(); // 중요한:종료 AJAX 거래하십시오
}

add_action('wp_ajax_m66net_send_location', 'm66net_calculate_sunset');
add_action('wp_ajax_nopriv_m66net_send_location', 'm66net_calculate_sunset');

설명하자 :

  • sunfuncs_ret_string let date_sunset ()은 19:21 과 같은 형식의 시간 문자열을 반환합니다.

  • 90.583333 은 표준 해수면 공기 압력 각도이며 일반적으로 기본적으로 사용됩니다.

  • 날짜 ( 'z') / 3600은 서버의 시간대에 따라 수정됩니다.

3 단계 : 일몰 시간을 보여주는 페이지에 위치를 추가합니다.

마지막으로 일몰 시간 (예 : 기사, 페이지 또는 가제트)을 표시 해야하는 HTML 조각을 추가하십시오.

 <div id="m66net-sunset-time">일몰 시간을 얻습니다...</div>

사용자가 페이지를 방문하는 한 JavaScript가 트리거되고 사용자의 위치가 자동으로 감지되고 정확한 일몰 시간이 표시됩니다!

  • HTTPS를 지원하려면 M66.NET 리소스도 HTTPS로 이동하십시오. 그렇지 않으면 브라우저가 혼합 컨텐츠 요청을 차단합니다.

  • date_sunset () 의 결과는 서버 시간 표준입니다. 플러그인이 다른 서버 영역에 적응하려면보다 세련된 시간대 처리가 필요합니다.

  • 사용자가 위치 정보 공유를 거부 할 때와 같이 플러그인에 합리적인 오류 프롬프트를 추가하십시오.