wp_maybe_decline_date()
Склоняет или изменяет месяц в переданной строке даты. Например для русского: 15 Май > 15 мая
.
Работает только для языков, в которых месяца в дате изменяются (склоняются). Склоняется месяц в дате или нет, определяется следующей строкой перевода:
'on' === _x( 'off', 'decline months names: on or off' )
Функция проверяет переданную дату и если она формата: число слово ...
(15 Май
, 15 май 2019 год
), то дата будет обработана, и в ней название месяца будет заменено на название в родительском падеже. Так, например, 15 Май 2019
превратиться в 15 мая 2019
.
Функция ничего не делает (возвращает переданную дату), если месяца в языке не изменяются (не склоняются).
По умолчанию в WP функция повешена на хук date_i18n:
add_filter( 'date_i18n', 'wp_maybe_decline_date' );
Функция обращается к глобальной переменной $wp_locale, содержащей объект класса WP_Locale, у которого есть свойства: month и month_genitive. Она делает преобразования на базе этих свойств (без учета регистра букв):
[month] => Array ( [01] => Январь [02] => Февраль [03] => Март [04] => Апрель [05] => Май [06] => Июнь [07] => Июль [08] => Август [09] => Сентябрь [10] => Октябрь [11] => Ноябрь [12] => Декабрь ) [month_genitive] => Array ( [01] => января [02] => февраля [03] => марта [04] => апреля [05] => мая [06] => июня [07] => июля [08] => августа [09] => сентября [10] => октября [11] => ноября [12] => декабря )
Хуков нет.
Возвращает
Строку
. Измененную даты, если язык сайта подразумевает склонения даты и переданную дату (без изменений) в противном случае.
Использование
wp_maybe_decline_date( $date );
- $date(строка) (обязательный)
- Отформатированное время.
Примеры
#1 Примеры конвертации даты
Дата имеет подходящий формат и преобразуется (изменяется, склоняется):
echo wp_maybe_decline_date( '15 Май 2019' ); //> 15 мая 2019
Дата имеет подходящий формат, но месяц в ней написан уже правильно — функция ничего не меняет, хотя проделывает все те же операции по поиску замене.
echo wp_maybe_decline_date( '15 Мая 2019' ); //> 15 Мая 2019 echo wp_maybe_decline_date( '15 мая 2019' ); //> 15 мая 2019
Дата имеет неподходящий формат, функция просто её возвращает без каких либо попыток что-то изменить.
echo wp_maybe_decline_date( 'Май 2019 года' ); //> Май 2019 года
Заметки
- Global. WP_Locale. $wp_locale WordPress date and time locale object.
Список изменений
С версии 4.4.0 | Введена. |
С версии 5.4.0 | The $format parameter was added. |