Настройка формата даты WordPress | WordPress для всех
от WPforever
В этом уроке поговорим про формат даты и посмотрим, как должна быть сделана настройка формата даты WordPress сайта.
Вступление
Здравствуйте, уважаемые читатели. В прошлом уроке мы строили формат времени WordPress. Сегодня простой урок — настройка формата даты WordPress. Однако, как часто получается на WordPress, со скрытыми возможностями и хитростями.
Даты WordPress разного назначения
Казалось бы, что может быть проще — дата публикации статьи. Одно действие которому соответствует определённая дата. Ан нет, поисковик Google и веб–мастера, так всё запутали, что в этом приходится разбираться.
Суть проблемы и следующего за ним вопроса, в том, что поисковик Google выводит дату публикации в поисковой выдаче. Её видят пользователи и старые даты статей вызывают у них, по мнению некоторых, естественное отторжение. Кстати, Яндекс дату материалов в выдаче не выводит и в этом ровняет все материалы сайтов.
В отличие от Яндекс, Google, в своей выдаче, даты публикаций выводит, если это позволяет ему система управления сайтом и дата поисковиков не скрыта от поисковиков.
Формат даты WordPress
В коробочной версии сайта WordPress дата публикации на шаблоне «Twenty Nineteen» выводиться в виде «дд.мм.гггг» со значком часов. Формат даты в настройках стоит: «d.n.Y».
дата публикации на шаблоне «Twenty Nineteen»формат даты WordPress по умолчаниюПо умолчанию коробочной версии, пользователи видят дату в формате общих настроек. Вы можете этот формат даты поменять на вкладке «Общие настройки» административной части сайта.
В коде сайта коробочной версии дата выводится в единственном варианте: datetime="2019-11-21T07:37:26+03:00">d.n.Y.<
. Других выводов даты в коде сайте (шаблона) коробочной версии нет.
Примечание: datetime="2019-11-21T07:37:26+03:00"
— это представление даты и времени по классу PHP.
Этот формат системный и от вас он не зависит. Кстати, валидатор W3C считает этот формат "Y-m-d\TH:i:sP"
валидным (приемлемым). Все форматы дат php тут: www.php.net/manual/ru/class.datetimeinterface.php.
d.n.Y.
в datetime
— это вид даты из настроек сайта. Вы его можете менять по форматам предложенным WordPress (есть ссылка в настройках времени) заимствованным из форматов php тут: www.php.net/manual/ru/function.date.php.
Наиболее популярные форматы дат указаны на вкладке Общие настройки>>>Формат даты.
Подчёркиваю, данные утверждения верны для коробочной версии без дополнительных плагинов и сторонних тем. Я их повторю:
- Ваши пользователи видят дату в формате указанном в общих настройках.
- Любая другая тема и любой другой плагин может дату убрать или показать дату публикации в своём формате.
- Какую дату подхватит Google до конца не понятно.
Например, в теме «GeneratePress, автор: Tom» дата показывается читателю в формате, который вы укажите в настройках. Однако Google выводит дату в «человеческом виде» в формате «X дней назад».
Кстати, вы сами можете сделать дату в человеческом формате «X дней назад», «X минут назад», установив плагин без настроек: Days Ago Post Date.
Настройка формата даты WordPress
В общих настройках сайта WordPress в настройках «Формат даты» в строке «Произвольно» сработает любой формат из справочника php функций www.php.net/manual/ru/function.date.php.
Сработает даже формат даты «U», который покажет вашим пользователям дату в количестве секунд, от начала эпохи Unix (1 января 1970 00:00:00 GMT). Вы можете попробовать любой формат онлайн в настройках даты на своём сайте, строка предварительный просмотр.
Именно выставленный вами формат даты увидят ваши пользователи и возможно этот формат даты покажет Google в поисковой выдаче.
Как скрыть дату от пользователей
Я не понимаю зачем скрывать дату от пользователей, которые уже зашли на ваш сайт, но всё же.
Чтобы убрать дату из всех постов сайта, а также из виджетов, выберите, но не заполняете поле «Произвольно» в общих настройках сайта. Дата уйдёт, но останется иконка даты.
Если хотите убрать дату со значком из определённых категорий с выбором, вам понадобится уникальный плагин: WP date remove.
Хотите чтобы дата всегда была в виде «XX дней назад», установите плагин: WP Old Post Date Remover.
Если ваша тема не показывает дату вашим пользователям, а вам этого очень хочется, установите плагин: WP Last Modified Info. Плагин её покажет по дате обновления материала.
Заключение
Манипуляции с датами на сайте похожи на танцы с бубнами, работы много — эффект не понятен. Это интересно, но не приносит ощутимого эффекта ни в чём. Советую: ориентируйтесь в формате даты на своих читателей. Существующая по умолчанию настройка формата даты WordPress вполне достаточна без плагинов.
©wpkupi.ru
Еще статьи
Отображение дат и времени в различных форматах — Инструкции и типовые решения
Документация / Инструкции и типовые решения / Отображение дат и времени в различных форматахПо умолчанию формат отображения дат и времени внутри Cotonti уже настроен. В большинстве случаев этого будет достаточно. Тем не менее, у вас есть возможность изменить формат вывода. Сделать это можно двумя способами:
- настроить формат вывода конкретного элемента в шаблоне;
- настроить (изменить) формат отображения глобально для всей системы.
Рассмотрим сначала первый вариант — вам необходимо изменить формат вывода даты в определенном [месте] шаблоне.
Как правило все метки даты-времени внутри системы храняться в формате UNIX-времени (по сути счетчик количества секунд прошедших с 1 января 1970 года). Это удобный для внутреннего хранения и сравнения формат, который позволяет быстро и удобно вывести дату в нужном, человеко-читаемом формате. Для конвертирования такоей метки даты-времени в читаемый формат в PHP существует функция date(), однако она не учитывает язык конечного пользователя.
Для решения этой проблемы в Cotonti есть функция «обертка» cot_date()
. Перейдем теперь к примеру. Предположим мы имеем какой-либо тег содержащий метку времени, например — PAGE_ROW_DATE_STAMP. Используем cot_date()
как обратный вызов (из шаблона):
{PAGE_ROW_DATE_STAMP|cot_date('d-m-Y', $this)}
Передаем значение PAGE_ROW_DATE_STAMP в функцию и предполагаем вывод в формате `d-m-Y` (для понимания сокращений в формате смотри описание функции date()
).
Замечание: Функция принимает 3 параметра: первый (обязательный параметр) задает строку формата, второй — метку времени, третий — использовать ли временную зону пользователя.
Кроме возможности указать формат в ручную, в системе есть ряд предопределенных заранее форматов. Эти форматы определены на уровне системных языковых файлов (main.*.lang.php) и поэтому могут учитывать некоторые национальные особенности отображания дат для того или иного языка. Хранятся эти определения в массиве $Ldt. При проектировании своих расширений рекомендуется использовать именно эти готовые форматы. Например:
{PAGE_ROW_DATE_STAMP|cot_date('date_full', $this)}
Ниже приведен список всех предопределенных форматов (примеры даны для руcского
Name | Format | Example |
---|---|---|
date_full | d. m.Y | 13.02.2009 |
date_medium | m.Y | 02.2009 |
date_short | d.m | 13.02 |
date_text | d F Y | 13 февраля 2009 |
date_fulltext | l, d F Y | Пятница, 13 февраля 2009 |
H:i:s | 23:31:30 | |
time_medium | G:i | 23:31 |
time_short | i:s | 31:30 |
time_text | g:i A | 11:31 PM |
time_fulltext | g:i:s A | 11:31:30 PM |
datetime_full | d.m.Y H:i:s | 13.02.2009 23:31:30 |
datetime_medium | d.m.Y H:i | 13.02.2009 23:31 |
datetime_short | d.m H:i | 13.02 23:31 |
datetime_text | d F Y H:i | 13 февраля 2009 23:31 |
datetime_fulltext | l, d F Y H:i | Пятница, 13 февраля 2009 23:31 |
week_full | o-\WW | 2009-W07 * |
week_medium | \WW | W07 |
week_short | \WW-N | W07-5 |
week_text | \WW, l | W07, Пятница |
week_fulltext | o-\WW, l | 2009-W07, Пятница |
* если номер недели (ISO) относится к предыдущему или следующему году — будет отображен соотв. год.
Второй упомянутый вариант — это возможность глобально изменить формат, переопределив соответствующий элемент массива
Более подробно с информацией о форматах даты/времени можно ознакомится в документации к PHP.
PHP: форматы даты — руководство
Изменение языка: английскийбразильский португальскийкитайский (упрощенный)французскийнемецкийяпонскийрусскийиспанскийтурецкийДругое
Отправить запрос на вытягивание Сообщить об ошибке
На этой странице описаны различные форматы даты в синтаксисе, подобном BNF, который DateTimeImmutable, ДатаВремя, date_create(), date_create_immutable() и Парсер strtotime() понимает.
Чтобы отформатировать DateTimeImmutable и Объекты DateTime, пожалуйста, обратитесь к документации метода DateTimeInterface::format().
Описание | Формат | Примеры |
---|---|---|
днейсуф | «ул» | «й» | «рд» | «й» | |
дд | ([0-2]?[0-9] | «3»[01]) дней ? | «7-й», «22-й», «31-й» |
ДД | «0» [0-9] | [1-2][0-9] | «3» [01] | «07», «31» |
м | ||
М | ‘янв’ | ‘февраль’ | ‘мар’ | ‘апрель’ | ‘может’ | ‘июнь’ | ‘июль’ | ‘август’ | ‘сентябрь’ | ‘сентябрь’ | ‘октябрь’ | ‘ноябрь’ | ‘декабрь’ | |
мм | «0», «04», «7», «12» | |
мм | «0» [0-9] | «1»[0-2] | «00», «04», «07», «12» |
г | [0-9]{1,4} | «00», «78», «08», «8», «2008» |
гг | [0-9]{2} | «00», «08», «78» |
ГГ | [0-9]{4} | «2000», «2008», «1978» |
ГГГ | [0-9]{5,19} | «81412», «20192» |
Описание | Формат | Примеры |
---|---|---|
Американский месяц и день | мм «/» дд | «5/12», «10/27» |
Американский месяц, день и год | мм «/» дд «/» у | «22. 12.78″, «17.01.2006», «17.01.06» |
Четыре цифры года, месяца и дня с косой чертой | YY мм «/» дд | «2008/6/30», «1978/12/22» |
Четыре цифры года и месяца (GNU) | YY «-» мм | «2008-6», «2008-06», «1978-12» |
Год, месяц и день с прочерками | г «-» мм «-» дд | «2008-6-30», «78-12-22», «8-6-21» |
День, месяц и год из четырех цифр, с точками, табуляцией или тире | дд [.\t-] мм [.-] YY | «30.06.2008», «22.12.1978» |
День, месяц и год из двух цифр, с точками или табуляцией | дд [.\t] мм «.» г.г. | «30. 6.08″, «22\t12.78» |
День, текстовый месяц и год | дд ([ \t.-])* м ([ \t.-])* г | «30 июня 2008 г.», «22 декабря 78 г.», «14 III 1879 г.» |
Месяц в текстовом формате и год из четырех цифр (день сбрасывается на 1) | м ([ \t.-])* ГГ | «июнь 2008 г.», «декабрь 1978 г.», «март 1879 г.» |
ГГ ([ \t.-])* м | «2008 июнь», «1978-XII», «1879.МАРТ» | |
Месяц, день и год в текстовом формате | м ([ .\t-])* дд [.stndrh\t ]+ г | «1 июля 2008 г.», «17 апреля 1790 г.», «9, 78 мая» |
Месяц и день в текстовом виде | m ([ . \t-])* дд [.stndrh\t ]* | «1 июля», «17 апреля», «9 мая»» |
День и текстовый месяц | дд ([ .\t-])* м | «1 июля», «17 апреля», «9 мая» |
Аббревиатура месяца, дня и года | М «-» ДД «-» у | «09-05-78», «17-апр-1790» |
Год, сокращение месяца и дня | у «-» М «-» ДД | «78-дек-22», «1814-17 МАЯ» |
Год (и только год) | ГГ | «1978», «2008» |
Год (расширенный, 5-19 цифр со знаком) | [+-] ГГГ | «-81120», «+20192» |
Текстовый месяц (и только месяц) | м | «март», «июнь», «декабрь» |
Описание | Формат | Примеры |
---|---|---|
Восьмизначный год, месяц и день | ГГ ММ ДД | «15810726», «19780417», «18140517» |
Четыре цифры года, месяца и дня с косой чертой | ГГ «/» ММ «/» ДД | «30. 06.2008″, «22.12.1978» |
Две цифры года, месяца и дня с тире | гг «-» ММ «-» ДД | «08-06-30», «78-12-22» |
Год из четырех цифр с необязательным знаком, месяц и день | [+-]? ГГ «-» ММ «-» ДД | «-0002-07-26», «+1978-04-17», «1814-05-17» |
Год из пяти и более цифр с обязательным знаком, месяц и день | [+-] ГГГ «-» ММ «-» ДД | «-81120-02-26», «+20192-04-17» |
Примечание :
Для
yy
иyy
форматы, годы ниже 100 обрабатываются особым образом, когда Используется символy
илиyy
. Если год попадает в диапазон от 0 (включительно) до 69(включительно), 2000 добавляется. Если год попадает в диапазон от 70 (включительно) до 99 (включительно), то добавляется 1900. Это означает, что «00-01-01» интерпретируется как «2000-01-01».
Примечание :
Формат «День, месяц и год из двух цифр, с точками или табуляцией». (
дд
[.\t]мм
«.»yy
) работает только для значений года 61 (включительно) до 99 (включительно) — вне этих лет время формат »ЧЧ
[.:]ММ
[.:]SS
» имеет приоритет.
ОсторожноПримечание :
Формат «Год (и только год)» работает, только если строка времени уже найден — иначе этот формат распознается как
ЧЧ
ММ
.
Возможен перелив и недолив dd
и
Формат ДД
. День 0 означает последний день предыдущего
месяц, тогда как переполнения учитываются в следующем месяце. Это делает
«2008-08-00» эквивалентно «2008-07-31» и «2008-06-31» эквивалентно
на «2008-07-01» (в июне всего 30 дней).
Обратите внимание, что диапазон дней ограничен 0-31, как указано регулярным выражением выше. Таким образом, «2008-06-32» не является действительной датой. строка, например.
Также возможен недолив мм
и MM
форматы со значением 0. Значение месяца
0 означает декабрь предыдущего года. Например, «2008-00-22»
эквивалентно «2007-12-22».
Если вы объедините два предыдущих факта и пропустите как день, так и месяца происходит следующее: «2008-00-00» сначала преобразуется на «2007-12-00», которое затем преобразуется в «2007-11-30». Это также происходит со строкой «0000-00-00», которая преобразуется в «-0001-11-30» (год -1 по календарю ISO 8601, т.е. 2 г. до н.э. в пролептическом григорианском календаре).
+ добавить примечание
Пользовательские заметки
Для этой страницы нет пользовательских заметок.
Как управлять датой и временем в PHP с помощью Carbon
- К
Проспер Угбово
2021-12-02
- PHP 7.4 или выше.
- Композитор установлен глобально.
- 900 28 +
-
-
-
назад
-
первый
-
следующий
-
последний
-
этот
-
сегодня
-
завтра
- Проспер Угбово
- Мэтью Сеттер
Манипуляции с датой и временем — одна из немногих часто возникающих проблем при разработке веб-приложений на PHP. И одна из самых распространенных проблем — это выявление несоответствий во времени и обеспечение их удобочитаемости, например, « один час назад «.
Однако обработка дат и времени, а также подобные проблемы значительно упрощаются при использовании Carbon; это библиотека, которая сокращает долгие часы кодирования и отладки до нескольких строк кода. потому что Carbon, созданный Брайаном Несбитом, расширяет собственный класс PHP DateTime и упрощает его использование.
В этом руководстве вы познакомитесь с основными функциями и возможностями Carbon, что даст вам возможность гораздо проще управлять датой и временем в PHP. 0003
Предварительные условия
Для выполнения этого руководства вам потребуются следующие компоненты:
Установка
Чтобы установить Carbon, сначала создайте новый каталог проекта с именем carbon , перейдите в каталог и установите пакет, выполнив следующие команды:
Форматирование дат с помощью Carbon
После установки Carbon в редакторе или IDE создайте новый файл PHP с именем index.php в корне каталога вашего проекта. Затем добавьте приведенный ниже код в index.php , чтобы включить файл автозагрузчика Composer, vendor/autoload.php и импортированный базовый класс Carbon .
Печать дат
Теперь, когда Carbon установлен, давайте начнем работать с некоторыми примерами, начиная с самого важного: распечатать некоторые даты. Для этого мы будем использовать carbon::today
для получения сегодняшней даты через Carbon, как вы можете видеть в примере ниже.
Добавьте это в index .php и запустите его.
Выходные данные, которые вы можете видеть в примере выше, возвращают текущую дату с пустым временем. Однако, если вы обновите index.php , чтобы вместо него использовать carbon::now
, что вы можете видеть в примере ниже, вы можете получить время вместе с датой.
После обновления index.php и его запуска вы должны увидеть в своем терминале вывод, аналогичный приведенному ниже примеру.
В отличие от Carbon::now()
, которая возвращает текущую дату и время, и Carbon:today()
, которая возвращает только текущую дату, Carbon::yesterday()
и Carbon:: Завтра ()
генерировать экземпляры Carbon для вчера и завтра, соответственно, как в примерах ниже. Today()
, Вчера()
, Now
и Завтра()
являются примерами общих помощников статического инстанцирования.
Создавать даты с точностью
Углерод также позволяет нам генерировать даты и время на основе набора параметров. Например, чтобы создать новый экземпляр Carbon
для определенной даты, используйте метод Carbon::createFromDate()
, передавая год, месяц, день и часовой пояс, как в следующем примере.
Вы также можете указать время, вызвав Carbon::create()
, передав год, месяц, день, часовой пояс, час, минуту и секунду, как в следующем примере
Если любой из $год
, $месяц
, $день
, $час
, $минута
или $секунда
установлен на ноль 9002 9 их
сейчас() эквивалент
будут использоваться значения. Однако если $hour
не равно null
, тогда значениями по умолчанию для $minute
и $second
будут 0
. Если вы передадите null
для любого из этих атрибутов, по умолчанию будут использоваться текущие дата и время.
Обновите index.php в вашем редакторе или IDE, чтобы он соответствовал приведенному ниже коду, и запустите его, чтобы увидеть пример всех этих функций.
Функция create()
в первой переменной создает экземпляр Carbon
из компонентов даты и времени; Часовой пояс был указан в конструкторе для второй переменной.
Объект Carbon был создан с использованием компонентов даты с помощью Carbon::createFromDate()
при инициализации третьей и четвертой переменных. Это генерирует 9Экземпляр 0028 Carbon основан только на дате.
Стоит отметить, что если часовой пояс не указан, используется часовой пояс по умолчанию. Однако, если указан часовой пояс , отличный от вашего , будет указано фактическое время часового пояса. Текущее время устанавливается в разделе времени.
Последняя переменная, инициализированная с помощью Carbon::createFromTimestamp
, генерирует дату на основе метки времени.
Относительные модификаторы
Еще одна фантастическая особенность Carbon — относительные модификаторы. Они позволяют использовать такие строки, как « next friday » или « год назад » для использования при построении экземпляров Carbon
относительно к текущей дате.
Ниже приведены примеры строк, которые считаются относительными модификаторами.
Изменение даты и времени
При работе с датами вам потребуется больше, чем просто получить дату и время. Вам также часто потребуется изменить дату или время, например добавить день или неделю или вычесть месяц.
Хорошим примером необходимости использования этой функции является создание партнерской программы. В этом случае вам нужно, чтобы партнерский файл cookie, который получает пользователь, истекал через указанный период времени, что делает реферал недействительным.
Предположим, срок жизни файла cookie составляет 90 дней. С помощью методов Carbon add
и subtract
мы могли вычислить это время совершенно тривиально. В приведенном ниже примере используется addDays()
, чтобы определить, когда истечет срок действия файла cookie.
Он также использует некоторые другие методы add()
и sub()
, которые предоставляет Carbon. Если вы добавляете одну дату, например день, вы используете addDay()
, но если вы добавляете несколько дней, вы используете addDays()
. Использование методов сложения и вычитания Carbon может предоставить вам скорректированные дату и время.
Взгляд вперед и назад
Carbon также предоставляет функции next()
и previous()
, которые возвращают предстоящие и предыдущие события определенного дня недели, пример которых вы можете увидеть в коде ниже.
Форматирование даты и времени
Еще одна замечательная опция, которую предоставляет Carbon, — это возможность форматировать дату и время в любом желаемом формате. Поскольку Carbon является расширенной версией встроенных в PHP функций даты и времени, Carbon может использовать встроенные в PHP форматы даты через формат()
функция. Кроме того, доступны методы toXXXString()
для отображения даты и времени с предопределенным форматированием.
Другие типичные методы форматирования даты и времени, доступные для Carbon, включают следующее.
Вычисление относительного времени
Функции diffForHumans()
в Carbon также позволяют нам представлять время в относительных единицах. Несоответствия даты и времени часто отображаются в так называемом гуманизированном формате, например, год или три минуты назад.
Предположим, мы разрабатываем расширение для CMS блога и хотим отображать время публикации статьи в формате « часа назад » или время публикации комментариев в формате « часа назад ».
Во-первых, время и дата публикации статьи, а также другие параметры будут записаны в поле базы данных. В результате мы извлекаем дату из базы данных в формате Y-m-d H:i:s
и сохраняем ее в переменной. Назовем его $time
.
Если дата в нашей базе данных — 4 августа 2021 года, как в приведенном ниже примере, вы должны использовать функцию carbonCreateFromFormat()
для получения даты углерода, а затем использовать diffForHumans()
, чтобы найти разницу.
Если дата была сохранена как временная метка, вы можете вызвать Carbon::createFromTimestamp
. Carbon также предоставляет услуги переводчика для пользователей. Поэтому, если ваш сайт использует языковые настройки пользователя, вызовите язык. Например, если у вас есть пользователь, который говорит по-французски, все, что вам нужно сделать, это вызвать функцию перед кодом, как показано ниже.
В этом случае вывод будет, например, ‘il y a 2 mois’.
Это основы управления датами и временем в PHP с использованием Carbon
В этом руководстве вы узнали, как установить Carbon и его основные функции. Однако у Carbon гораздо больше функциональных возможностей, чем описано в этом руководстве. Ознакомьтесь с их документацией, если вы хотите узнать больше о доступных функциях.
Проспер Угбово — разработчик веб-приложений, специализирующийся на больших, но простых веб-приложениях. Его тексты стремятся найти баланс между поучительностью и удовлетворением технологических потребностей, но никогда не ценой удовольствия от чтения.
Оценить этот пост1 2 3 4 5
Авторы
Рецензенты
Похожие сообщения
Отправить SMS с помощью PHP за 30 секунд
17 мая 2023 г.