Как изменить язык отображения даты регистрации пользователя в WordPress?

Как изменить функцию `getUserRegDate()`, чтобы вместо вывода даты на английском языке (March 23, 2024), дата выводилась на русском языке?
  • 7 мая 2024 г. 11:50
Ответы на вопрос 4
Для изменения языка отображения даты регистрации пользователя в WordPress на русский язык, следует использовать функцию `date_i18n()` вместо стандартной `date()`.

Пример функции `getUserRegDate()` с изменением языка на русский:

```php
function getUserRegDate($user_id) {
    $user = get_userdata($user_id);
    $reg_date = $user->user_registered;
    
    $localized_date = date_i18n('j F Y', strtotime($reg_date)); // Формат "день месяц год"
    
    return $localized_date;
}
```

Теперь при вызове этой функции вместо даты "March 23, 2024" будет выводиться дата на русском языке в формате "23 марта 2024".
<pre><code class="diff">$datetime = new DateTime($user_reg);
+ $formatter = new IntlDateFormatter('ru_RU');
+ $formatter-&gt;setPattern('d MMM, Y');

- echo $datetime-&gt;format('F j, Y');
+ echo $formatter-&gt;format($datetime);</code></pre> <br/> <br/> Должен быть установлен модуль <a href="https://www.php.net/manual/ru/intl.installation.php" rel="nofollow">php-intl</a>
Возможно, кому-то пригодится <br/> <pre><code class="php">function getUserRegDate() {
$user = get_userdata(get_current_user_id());
$user_reg = $user-&gt;get('user_registered');
$datetime = new DateTime($user_reg);
$formatter = new IntlDateFormatter(
    'ru_RU',
    IntlDateFormatter::LONG,
    IntlDateFormatter::LONG
);
$formatter-&gt;setPattern('d MMMM, yyyy');
echo $formatter-&gt;format($datetime);
}</code></pre>
Тут жестко задан формат: <br/> <code class="php">echo $datetime-&gt;format('F j, Y');</code> <br/> Если хотите указать более общий вид, то задайте "d.m.Y".
Похожие вопросы