Как использовать get_the_date() для перевода формата даты на хинди
Я хочу отображать даты в формате хинди, например:
jan 10
используя функцию get_the_date()
. Что я пробовал:
echo get_the_date(_e('F j'));
что выводит:
F jJanuary 10, 2017.

Старый вопрос, но без принятого ответа, поэтому вот решение...
Вы получаете странный вывод, потому что _e
просто выводит "F j" буквально, не передавая его в функцию. В результате вы получаете сырой формат, за которым следует формат даты по умолчанию.
Однако вам не нужно использовать никакую функцию перевода, потому что get_the_date() обрабатывает всё автоматически. Просто используйте:
<?php echo get_the_date('F j'); ?>
Переводы названий месяцев находятся в файлах перевода ядра WordPress. Если у вас есть перевод слова "Октябрь" на хинди и язык вашего сайта установлен как hi_IN
, то будет отображаться переведённая дата.
Смотрите этот недавний похожий вопрос с более подробной информацией о параметре date_format.

Текст отображается на хинди, если вы выбрали хинди в качестве языка сайта (Консоль >> Настройки >> Общие)

Но я хочу, чтобы на моем сайте были и английский, и хинди, когда пользователь нажимает на кнопку перевода языка. Проверьте URL: competitionmantra.com

Функция WordPress date_i18n полезна для сайтов не на английском языке и при использовании нескольких языков/локалей. Подробнее можно узнать в справочнике кода WordPress здесь.
В вашем случае я бы попробовал:
<?php echo date_i18n( 'F j', strtotime( get_the_date() ) ); ?>
Надеюсь, это поможет.

Вы можете попробовать этот метод:
https://developer.wordpress.org/reference/functions/switch_to_locale/
Он позволяет изменить язык интерфейса на фронтенде
