Настройка формата даты 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.

Фото примеров форматов 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 уже настроен. В большинстве случаев этого будет достаточно. Тем не менее, у вас есть возможность изменить формат вывода. Сделать это можно двумя способами: 

  1. настроить формат вывода конкретного элемента в шаблоне;
  2. настроить (изменить) формат отображения глобально для всей системы.

Рассмотрим сначала первый вариант — вам необходимо изменить формат вывода даты в определенном [месте] шаблоне.

Как правило все метки даты-времени внутри системы храняться в формате 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ского 

RU языкового файла):

NameFormatExample
date_fulld. m.Y13.02.2009
date_mediumm.Y02.2009
date_shortd.m13.02
date_textd F Y13 февраля 2009
date_fulltextl, d F YПятница, 13 февраля 2009
time_full
H:i:s23:31:30
time_mediumG:i23:31
time_shorti:s31:30
time_textg:i A11:31 PM
time_fulltextg:i:s A11:31:30 PM
datetime_fulld.m.Y H:i:s13.02.2009 23:31:30
datetime_mediumd.m.Y H:i13.02.2009 23:31
datetime_shortd.m H:i13.02 23:31
datetime_textd F Y H:i13 февраля 2009 23:31
datetime_fulltextl, d F Y H:iПятница, 13 февраля 2009 23:31
week_fullo-\WW2009-W07 *
week_medium\WWW07
week_short\WW-NW07-5
week_text\WW, lW07, Пятница
week_fulltexto-\WW, l2009-W07, Пятница

* если номер недели (ISO) относится к предыдущему или следующему году — будет отображен соотв. год.

Второй упомянутый вариант — это возможность глобально изменить формат, переопределив соответствующий элемент массива

$Ldt.

Более подробно с информацией о форматах даты/времени можно ознакомится в документации к 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»
м
‘январь’ | ‘февраль’ | ‘марш’ | ‘апрель’ | ‘может’ | ‘июнь’ | ‘июль’ | ‘август’ | ‘сентябрь’ | ‘октябрь’ | ‘ноябрь’ | ‘декабрь’ | ‘ян’ | ‘февраль’ | ‘мар’ | ‘апрель’ | ‘может’ | ‘июнь’ | ‘июль’ | ‘август’ | ‘сентябрь’ | ‘сентябрь’ | ‘октябрь’ | ‘ноябрь’ | ‘декабрь’ | «Я» | «II» | «III» | «ИВ» | «В» | «ВИ» | «VII» | «ВIII» | «IX» | «Х» | «XI» | «XII»
 
М ‘янв’ | ‘февраль’ | ‘мар’ | ‘апрель’ | ‘может’ | ‘июнь’ | ‘июль’ | ‘август’ | ‘сентябрь’ | ‘сентябрь’ | ‘октябрь’ | ‘ноябрь’ | ‘декабрь’  
мм
«0»? [0-9] | «1»[0-2]
«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 г.»
Год из четырех цифр и текстовый месяц (день сбрасывается на 1)
ГГ ([ \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»
Текстовый месяц (и только месяц) м «март», «июнь», «декабрь»
Обозначения ISO8601
Описание Формат Примеры
Восьмизначный год, месяц и день ГГ ММ ДД «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. И одна из самых распространенных проблем — это выявление несоответствий во времени и обеспечение их удобочитаемости, например, « один час назад «.

    Однако обработка дат и времени, а также подобные проблемы значительно упрощаются при использовании Carbon; это библиотека, которая сокращает долгие часы кодирования и отладки до нескольких строк кода. потому что Carbon, созданный Брайаном Несбитом, расширяет собственный класс PHP DateTime и упрощает его использование.

    В этом руководстве вы познакомитесь с основными функциями и возможностями Carbon, что даст вам возможность гораздо проще управлять датой и временем в PHP. 0003

    Предварительные условия

    Для выполнения этого руководства вам потребуются следующие компоненты:

    • PHP 7.4 или выше.
    • Композитор установлен глобально.

    Установка

    Чтобы установить 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 относительно к текущей дате.

    Ниже приведены примеры строк, которые считаются относительными модификаторами.

    • 900 28 +
    • -
    • назад
    • первый
    • следующий
    • последний
    • этот
    • сегодня
    • завтра

    Изменение даты и времени

    При работе с датами вам потребуется больше, чем просто получить дату и время. Вам также часто потребуется изменить дату или время, например добавить день или неделю или вычесть месяц.

    Хорошим примером необходимости использования этой функции является создание партнерской программы. В этом случае вам нужно, чтобы партнерский файл 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 г.