Я написал свой первый плагин WordPress, который просматривает файл на сервере и возвращает метку времени. Моя проблема в том, что отметка времени сервера 8 утра, но возвращаемое значение 13:00. Как я могу настроить метку времени в PHP, чтобы соответствовать реальному времени? Вот код, который я использовал:
function wp_file_last_updated( $atts ){
$a = shortcode_atts ( array(
'url' => 'No File Specified'
), $atts );
$filename = $a['url'];
if (file_exists($filename)) {
return "$filename was last modified: " . date ("F d Y H:i:s.", filemtime($filename));
}
}
add_shortcode('filedate', 'wp_file_last_updated');
?>
Вы должны установить часовой пояс в настройках WordPress
ИЛИ ЖЕ
Установите часовой пояс по умолчанию в начале вашего php файла с помощью следующей функции php
http://php.net/manual/en/function.date-default-timezone-set.php
date_default_timezone_set("set supported time zone");
$date=date("Y-m-d H:i:s");
Поддерживаемые часовые пояса перечислены на http://php.net/manual/en/timezones.php
Я использую Amazon Lightsail, и изменение часового пояса в админке WordPress не работает для меня.
Если вы используете Lightsail, вам нужно будет изменить часовой пояс с уровня сервера.
// list all the timezones
timedatectl list-timezones
// change to the your choice of timezone
sudo timedatectl set-timezone America/Vancouver
// display the current selected timezone
timedatectl
https://forums.aws.amazon.com/message.jspa?messageID=754347