- the_time() │ WP 0.71
- Возвращает
- Использование
- Примеры
- #1 Вывод даты
- #2 Выведем время публикации поста:
- #3 Время в форматах 24 часа и AM/PM
- Список изменений
- Код the_time() the time WP 6.2.2
- Cвязанные функции
- loop (Цикл WP)
- date time (дата время)
- Записи: посты, страницы, .
- Записи: посты, страницы, .
- Дата и время в WordPress — Форматы даты и времени
- Все символы формата даты и времени
- Примеры
- Опции связанные с датами
- Экранирование
- Локализация
- get_the_date() – получает дату публикации поста
- Параметры
- Примеры
- Фильтр get_the_date
- Миша
- Как вывести дату публикации поста WordPress
- Навигация по статье:
- Выводим дату публикации поста WordPress через функцию the_date
the_time() │ WP 0.71
Выводит на экран время (дату) публикации текущей записи в Цикле WordPress. Этот Тег Шаблона предназначен для использования внутри Цикла WordPress.
Хуки из функции
Возвращает
Использование
$d(строка) Формат даты (в PHP синтаксисе). Например, j F Y выведет «12 декабря 2010». Подробнее форматирование дат в PHP смотрите здесь.
По умолчанию: формат установленный в настройках.
Примеры
#1 Вывод даты
#2 Выведем время публикации поста:
#3 Время в форматах 24 часа и AM/PM
Список изменений
Код the_time() the time WP 6.2.2
Cвязанные функции
loop (Цикл WP)
- get_the_author()
- get_the_author_link()
- get_the_content()
- get_the_excerpt()
- get_the_ID()
- get_the_tag_list()
- get_the_tags()
- setup_postdata()
- the_author()
- the_content()
- the_date()
- the_excerpt()
- the_ID()
- the_permalink()
- the_post()
- the_tags()
date time (дата время)
- comment_date()
- comment_time()
- current_time()
- date_i18n()
- get_comment_date()
- get_comment_time()
- get_date_from_gmt()
- get_gmt_from_date()
- get_lastpostdate()
- get_lastpostmodified()
- get_post_time()
- get_post_timestamp()
- get_the_date()
- get_the_modified_date()
- get_the_modified_time()
- get_the_time()
- get_weekstartend()
- mysql2date()
- wp_checkdate()
- wp_date()
- wp_maybe_decline_date()
- wp_timezone()
- wp_timezone_choice()
- wp_timezone_string()
Записи: посты, страницы, .
- edit_post_link()
- get_delete_post_link()
- get_edit_post_link()
- get_permalink()
- get_post_field()
- get_post_status()
- get_sample_permalink()
- get_the_permalink()
- get_the_title()
- get_the_title_rss()
- has_excerpt()
- post_password_required()
- register_post_status()
- single_post_title()
- the_excerpt_rss()
- the_modified_date()
- the_title()
- the_title_attribute()
Записи: посты, страницы, .
- body_class()
- get_post_format()
- has_post_parent()
- have_posts()
- in_the_loop()
- next_image_link()
- next_post_link()
- next_posts_link()
- post_class()
- posts_nav_link()
- previous_image_link()
- previous_post_link()
- previous_posts_link()
- single_month_title()
- the_category()
- the_modified_author()
- the_post_navigation()
- the_search_query()
- the_shortlink()
- wp_get_shortlink()
- wp_link_pages()
добрый день. подскажите почему у меня выводится дата без склонения, т.е. не 7 апреля 2010, а 7 апрель 2010 ? Спасибо
Подскажите пожалуйста, как выводить дату предыдущего и следующего поста? как на них ссылки выводить — понятно:
previous_post_link и next_post_link а как вот их даты? :-\
У меня 1 важный вопрос, который касается микроразметки сайта. Поисковики требуют дату в ISO 8601. У меня получается 2004-02-12T15:19:21+00:00 — поисковикам это нравится. А вот мне нет. Можно ли очеловечить эту дату? К примеру то, что вы описывали выше? Но при этом чтобы валидатор микроразметки был доволен?
Дата и время в WordPress — Форматы даты и времени
В WordPress есть функции, которые получают дату или время записи, комментария или чего-то еще: the_date(), the_time(), mysql2date() и т.д. В каждую из таких функций можно передать формат, чтобы получить время или дату в нужном формате. В этой заметке показано, как получить любой формат и какие символы в указанном формате за что отвечают.
Все символы формата даты и времени
А теперь, давайте рассмотрим все специальные символы, которые можно использовать в формате.
День месяца | ||
---|---|---|
d | 01–31 | Число, с нулем впереди |
j | 1–31 | Число, без нуля впереди |
S | st, nd or th in the 1st, 2nd or 15th. | Английский суффикс дня месяца |
День недели | ||
l | Sunday – Saturday (Понедельник — Воскресенье) | Полное название (строчная ‘L’) |
D | Mon – Sun (Пон — Вс) | Короткое название |
N | 1 (понедельник) — 7 (воскресенье) | Номер дня недели |
w | 0 (воскресенье) — 6 (суббота) | Номер дня недели |
Месяц | ||
m | 01–12 | Число, с нулем впереди |
n | 1–12 | Число, без нуля впереди |
F | January – December (Январь — Декабрь) | Полное название |
M | Jan — Dec (Янв — Дек) | Короткое название |
t | 28 — 31 | Количество дней в месяце |
Год | ||
Y | 1999, 2003 | Число, 4 цифры |
y | 99, 03 | Число, 2 цифры |
z | 0 — 365 | Номер дня в году (начиная с 0) |
W | 34 (34-я неделя года) | Номер недели года |
L | 1 или 0 | Високосный ли это год |
Время | ||
a | am, pm | Строчный диапазон |
A | AM, PM | Прописной диапазон |
h | 01–12 | Часы (0-12), с нулем впереди |
g | 1–12 | Часы (0-12), без нуля впереди |
H | 00-23 | Часы (0-24), с нулем впереди |
G | 0-23 | Часы (0-24), без нуля впереди |
i | 00-59 | Минуты, с нулем впереди |
s | 00-59 | Секунды, с нулем впереди |
T | EST, MDT . | Аббревиатура временной зоны |
Микросекунды | ||
u | 012345 | Микросекунды — ‘H:i:s.u’ > 08:07:41.285872 |
Полные дата и время | ||
c | 2004-02-12T15:19:21+00:00 | Дата в формате стандарта ISO 8601 |
r | Thu, 21 Dec 2000 16:01:07 +0200 | Дата в формате » RFC 2822 |
U | 1455880176 | Число, штамп времени Unix — количество секунд с 1 января 1970 года |
Форматы из таблицы — это стандарт PHP и также могут быть использованы для форматирования даты в PHP, например, с помощью функции date().
Примеры
Формат | Результат |
---|---|
F j, Y g:i a | November 6, 2010 12:50 am |
F j, Y | November 6, 2010 |
F, Y | November, 2010 |
g:i a | 12:50 am |
g:i:s a | 12:50:48 am |
l, F jS, Y | Saturday, November 6th, 2010 |
M j, Y @ G:i | Nov 6, 2010 @ 0:50 |
Y/m/d \a\t g:i A | 2010/11/06 at 12:50 AM |
Y/m/d \a\t g:ia | 2010/11/06 at 12:50am |
Y/m/d g:i:s A | 2010/11/06 12:50:48 AM |
Y/m/d | 2010/11/06 |
Y-m-d H:i:s | 2017-11-06 21:37:22 |
Пример с функцией WordPress
Пост опубликован и находится в рубриках .
Пост опубликован 1 апреля 2016 в 20:09 и находится в рубриках WordPress, Кодекс.
Опции связанные с датами
var_dump( [ 'date_format' => get_option( 'date_format' ), 'time_format' => get_option( 'time_format' ), 'gmt_offset' => get_option( 'gmt_offset' ), // may be string - depends on value of `timezone_string` 'offset' => (float) get_option( 'gmt_offset' ) * HOUR_IN_SECONDS, 'start_of_week' => (int) get_option( 'start_of_week', 0 ), 'timezone_string' => get_option( 'timezone_string' ), ] ); /* array(6) < ["date_format"]=>string(5) "j M Y" ["time_format"]=> string(3) "H:i" ["gmt_offset"]=> float(5) ["offset"]=> float(18000) ["start_of_week"]=> int(1) ["timezone_string"]=> string(0) "Asia/Tashkent" > */
Экранирование
Если использовать символы не из таблицы, то они будут показаны как есть, например, в из примера выше. Но когда нужно, чтобы спецсимвол не обрабатывался (использовался как есть), его нужно экранировать обратным слэшем \ .
echo get_the_time('j F Y - это формат \j \F \Y'); //> 1 апреля 2016 - это формат j F Y
Локализация
Для перевода строк в дате вроде: November на язык сайта, используется функция date_i18n(). Также, для локализации формата можно использовать стандартные функции локализации: __(), _e() и т.д. Например:
get_the_date( __('j F Y в H:i','dom') )
get_the_date() – получает дату публикации поста
Функция get_the_date() возвращает дату написания определённого поста, либо текущего поста в цикле.
Помните, что функция the_date() выводила дату, только если она отличалась от даты предыдущего поста? Так вот, get_the_date() возвращает дату вне зависимости от этого.
Также осмелюсь предположить, что функция практически полностью идентична функции get_the_time(), её единственные отличия это:
- То, что формат даты/времени по умолчанию берётся из настроек даты в Настройки > Общее date_format , а не времени time_format .
- В конце применяется фильтр get_the_date вместо get_the_time.
get_the_date( $format = '', $post = null )
Параметры
$format (строка) Формат даты/времени. Например Y-m-d (2020-01-30). Все возможные форматы вы можете найти в официальной документации PHP. $post (число|WP_Post) ID поста или объект поста. По умолчанию – текущий пост в цикле (подробнее про циклы – в видеоуроке).
Как я уже упоминал выше, если не указать переменную $format , то будет использован формат даты, указанный в админке в разделе Настройки > Общие > Формат даты.
Если не указать $post , то будет получена дата создания текущего поста в цикле.
Примеры
Получим значение даты без использования аргументов:
echo get_the_date(); // Выведет 18.05.2020 - это дата создания текущего поста
Получим значение в желаемом формате. Если вдруг хочется узнать, сколько прошло секунд с момента начала Эпохи Unix до даты публикации поста:
$format = 'U'; echo get_the_date( $format ); // выведет 1589829502. Больше 1,5 млн секунд прошло уже с 1 января 1970 года
А теперь получим дату публикации определённого поста. Вот тут, если вы хотите использовать значение формата даты по умолчанию, не забудьте указать в качестве первого аргумента пустую строку, иначе, передав в неё ID поста, получим false .
$post_id = 777; echo get_the_date( '', $post_id ); // Выведет 13.04.2020
А теперь укажем все аргументы сразу:
$format = 'l j F Y h:i:s A'; $post = 777; echo get_the_date( $format, $post ); // Выведет Понедельник 20 мая 2020 07:18:22 ПП.
Фильтр get_the_date
Давайте сделаем так, чтобы функция оборачивала возвращаемую дату в теги , хук get_the_date подойдёт идеально, только имейте ввиду, что он сработает на всём сайте.
Также воспользуемся объектом поста $post , чтобы провернуть это только для Записей.
add_filter( 'get_the_date', 'true_date_in_time_tag', 25, 3 ); function true_date_in_time_tag( $the_date, $format, $post ) { if( 'post' !== $post->post_type ) { return $the_date; } return ' ( 'c', strtotime( $the_date ) ) . '>" itemprop="datePublished">' . $the_date . ''; }
На случай, если не знаете, куда вставлять код, читайте это.
Миша
Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.
Пишите, если нужна помощь с сайтом или разработка с нуля.
Как вывести дату публикации поста WordPress
Очень часто в процессе разработки новой темы WordPress или переделывания существующей возникает необходимость добавить, убрать или изменить дату публикации поста.
Для того чтобы вывести дату публикации поста в шаблон WordPress существует несколько решений.
Навигация по статье:
Если вы решили выводить дату под заголовком поста, то прежде всего вам нужно найти где именно выводится заголовок поста или записи а далее вы можете воспользоваться одной из следующих функций.
Обычно заголовок поста выводится в файле:
Или могут быть другие варианты в зависимости от установленной темы WordPress.
Чтобы понять где выводится заголовок поста вам нужно найти строку со следующим кодом:
Выводим дату публикации поста WordPress через функцию the_date
Формат записи:
Не пугайтесь этого странного набора символов! Сейчас я всё поясню, там всё не так страшно.
Вместо $format – пишем формат записи.
Расшифровка кодировки вывода даты в WordPress:
Y — год в виде четырех цифр, например, 2012;
y — год в виде двух последних цифр, 12;
m — номер месяца с нулями, например, 01, 06, 11;
M — сокращенное название месяца, например, Фев, Окт;
F — полное название месяца, Февраль;
j — день месяца без нулей, от 1 до 31;
d — день месяца с нулями, от 01 до 31;
l (строчная английская L) — полное название дня недели;
D — сокращенное название дня недели, например, Пн, Вт.
Вместо $before – пишем в одинарных кавычках тег или текст, который должен выводится перед датой.
Вместо $after – тег или тест, который будет выведен после даты.
Вместо $echo — пишем false, если нужно получить результат, но не выводить его на экран.
Обычно этот параметр редко используется, поэтому его можно его вообще не писать.