Ce code ne fonctionne pas correctement et renvoie l'heure en utilisant le fuseau horaire de l'ordinateur et en ignorant le fuseau horaire stocké dans les options WordPress:
date_default_timezone_set( get_option( 'timezone_string' ) );
$hours = date( 'H', strtotime( $timestamp ) );
date_default_timezone_set(@date_default_timezone_get());
WordPress enregistre le fuseau horaire dans la section des options mais l'option 'timezone_string' dans la table wp_options est vide. De plus, le code génère des avertissements.
Comment obtenir la date en utilisant le fuseau horaire correctement enregistré dans les options?
Où WordPress stocke-t-il un fuseau horaire modifiable dans la section des options?
J'utilise ceci:
$mytheme_timezone = get_option('timezone_string'); date_default_timezone_set($mytheme_timezone);
dans mes thèmes functions.php. Pour moi, cela a fonctionné sans aucun avertissement.
J'ai également testé si mon script est dans un fuseau horaire différent de celui de php.ini:
if (strcmp($mytheme_timezone, ini_get('date.timezone'))){
echo 'Script timezone differs from ini-set timezone.';
}
else {
echo 'Script timezone and ini-set timezone match.';
}
S'il vous plaît améliorer cette réponse si vous avez plus de perspicacité.