Я удивлен, что WordPress не предоставляет функцию для получения даты создания сайта. Знание того, когда был создан сайт, может быть полезно для самых разных вещей. Даты авторских прав. Права на хвастовство. Да что угодно. Если вы хотите отобразить дату, когда ваш сайт был впервые установлен, вот один из способов сделать это.
Получить год создания сайта
Чтобы получить нужную нам информацию, мы посмотрим на дату создания пользователя по умолчанию (с ID = 1) в базе данных:
<?php $date = mysql2date('Y', get_user_option('user_registered', 1)); ?>
Итак, этот фрагмент получает дату регистрации пользователя через get_user_option()
, а затем передает ее через mysql2date()
. Результатом будет год создания пользователя по умолчанию, что технически должно совпадать с датой, когда WordPress был впервые установлен. Да, это немного сложно, но пока не будет найден лучший способ, этот работает отлично.
Получение временной метки Unix при создании сайта
Еще один фрагмент кода для получения даты создания сайта в формате Unix timestamp:
<?php $date = mysql2date('U', '2018-12-29 9:54:18'); // 1546120458 ?>
Хитрость здесь заключается в использовании U
в качестве первого параметра функции mysql2date()
. Вывод будет выглядеть как «1546120458».
Получение дня, месяца и года создания сайта
Здесь мы получаем дату создания сайта в формате день, месяц, год:
<?php $date = mysql2date('l, F j, Y', '2018-12-29 9:54:18'); // Saturday, December 29, 2018 ?>
Обратите внимание на первый аргумент, l, F j, Y
, переданный в mysql2date()
. Именно он определяет, как будет отформатирована выводимая информация о дате, в данном случае как «Суббота, 29 декабря 2018 года». Вы можете легко настроить, чтобы получить любой формат, который вам нужен.
Метод обратного хода: Отображение даты первого опубликованного поста
Если по какой-то причине на вашем сайте WordPress нет обычного первого зарегистрированного пользователя-администратора (как в предыдущей технике), вот подходящий запасной метод. Вместо того чтобы смотреть на дату первого пользователя-администратора, мы получим дату первого опубликованного поста. Код выглядит следующим образом:
function shapeSpace_get_first_post_date() {
$all_posts = get_posts(array('numberposts' => -1, 'post_status' => 'publish', 'order' => 'ASC'));
$first_post = $all_posts[0];
return date('Y-m-d', strtotime($first_post->post_date));
}
После того как этот код будет создан, вы можете вызвать его следующим образом:
<?php echo shapeSpace_get_first_post_date(); ?>
Вызов этого кода из шаблона вашего плагина или темы отобразит дату первого сообщения в формате Y-m-d (год месяц дата). Обратите внимание, что это очень простой пример, чтобы дать вам представление о том, как это работает. Я призываю вас расширить эту функцию, добавив isset()
, настроить формат даты и изменить все, что необходимо. Сделайте его своим.
Бонус: Получение даты последнего сообщения
Вот несколько смежная техника, которая может быть полезна в данном контексте:
<?php $date = get_post_time('U', true); ?>
Этот фрагмент кода использует get_post_time()
для получения даты последнего сообщения. Как и в предыдущих примерах, первый параметр может быть настроен для вывода любого формата даты.