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_Locale()
(швидко) | 50000 разів – 0.51 сек
(дуже швидко) |
PHP 7.2.16, WP 5.2
Хуків немає.
Повертає
Строку
. Змінена дата, якщо мова сайту передбачає відмінювання дати та передану дату (без змін) в іншому випадку.
Використання
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 був added. |