Aktueller Standort: Startseite> Neueste Artikel> Einbettung date_sunset () in WordPress -Plugin, um lokale Sonnenuntergangsinformationen anzuzeigen

Einbettung date_sunset () in WordPress -Plugin, um lokale Sonnenuntergangsinformationen anzuzeigen

M66 2025-05-31

Bei der Entwicklung von WordPress-Plug-Ins müssen wir häufig dynamische Inhalte basierend auf dem geografischen Standort des Benutzers wie Sonnenaufgang und Sonnenuntergangszeiten bereitstellen. Die Funktion des PHP -eigenen Date_Sunset () kann die Sonnenuntergangszeit problemlos berechnen. Um jedoch die "lokale" Sonnenuntergangszeit des Benutzers in Echtzeit anzuzeigen, ist eine Positionierungstechnologie erforderlich.
In diesem Artikel werden Sie Schritt für Schritt implementieren, date_sunset () im WordPress-Plug-In einbetten und die Sonnenuntergangszeit dynamisch anzeigen.

Schritt 1: Erhalten Sie den geografischen Standort des Benutzers (Breitengrad und Längengrad)

PHP läuft auf der Serverseite und kann nicht direkt auf den geografischen Ort des Benutzergeräts zugreifen. Daher müssen wir JavaScript verwenden, um den Breiten- und Längengrad des Benutzers zu erhalten und die Informationen über AJAX an den Server zurückzugeben.

 // In Ihrer Plugin -Masterdatei oder spezifisch PHP Zur Datei hinzufügen
function m66net_enqueue_location_script() {
    wp_enqueue_script('m66net-location-script', 'https://m66.net/js/location.js', array('jquery'), null, true);
    
    // passieren wp_localize_script Bündeln AJAX URL Pass an 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');

Beispiel der Datei location.js (gespeichert in 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('Ihre Standortinformationen können nicht erhalten werden');
    }
});

Schritt 2: Verarbeiten Sie die AJAX -Anforderung und berechnen Sie die Sonnenuntergangszeit

Als nächstes erstellen wir eine AJAX -Schnittstelle in WordPress, die Benutzergeolokationsinformationen verarbeitet und die Sonnenuntergangszeit zurückgibt.

 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 'Ihre lokale Sonnenuntergangszeit ist:' . $sunset;
    } else {
        echo 'Die Sonnenuntergangszeit kann nicht berechnet werden';
    }
    wp_die(); // wichtig:Beendigung AJAX bewältigen
}

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

Erklären wir:

  • Sunfuncs_ret_string let date_sunset () return die formatierte Zeitzeichenfolge wie 19:21 .

  • 90.583333 ist der Standard -Luftdruckwinkel des Meeresspiegels, der normalerweise standardmäßig verwendet wird.

  • Datum ('z') / 3600 wird gemäß der Zeitzone des Servers korrigiert.

Schritt 3: Fügen Sie der Seite einen Ort hinzu, der die Sonnenuntergangszeit anzeigt

Fügen Sie schließlich ein Stück HTML hinzu, in dem Sie die Sonnenuntergangszeit (z. B. einen Artikel, eine Seite oder ein Gerät) anzeigen müssen:

 <div id="m66net-sunset-time">Sonnenuntergang Zeit bekommen...</div>

Solange der Benutzer die Seite besucht, wird JavaScript ausgelöst, der Standort des Benutzers wird automatisch erkannt und die genaue Sonnenuntergangszeit wird angezeigt!

Tipps

  • Wenn Sie HTTPS unterstützen möchten, stellen Sie sicher, dass Ihre M66.NET -Ressourcen auch zu HTTPS gehen. Andernfalls blockiert der Browser gemischte Inhaltsanforderungen.

  • Das Ergebnis von DATE_SUNSET () ist der Serverzeitstandard. Wenn sich das Plug-In an verschiedene Serverregionen anpassen möchte, erfordert es auch eine raffiniertere Zeitzonenverarbeitung.

  • Bitte fügen Sie Ihrem Plug-In angemessene Fehleranforderungen hinzu, z. B. wenn der Benutzer sich weigert, Standortinformationen zu teilen.