Вывод названия месяцев в правильной для русского языка форме

Вывод названия месяцев в правильной для русского языка форме | n-wp.ru
Код, преобразующий вывод месяцев в правильной для русского языка форме. Работает с русской и английской версией WordPress.
👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Функции WordPress для вывода дат грешат одним недостатком — в них не учитываются такие особенности русского языка, как склонения и падежи. Поэтому любая дата, в которой присутствует название месяца, выводится всегда в именительном падеже, например, 10 январь. Чтобы изменить такое неестественное звучание названиев месяцев, можно применить несколько фильтров.

wordpress-tag-cloud

Для изменения склонения названия месяцев в датах на русском языке добавьте в файл functions.php следующий код:

function true_russian_date_forms($the_date = '') {
	if ( substr_count($the_date , '---') > 0 ) {
		return str_replace('---', '', $the_date);
	}
	$replacements = array(
		"Январь" => "января",
		"Февраль" => "февраля",
		"Март" => "марта",
		"Апрель" => "апреля",
		"Май" => "мая",
		"Июнь" => "июня",
		"Июль" => "июля",
		"Август" => "августа",
		"Сентябрь" => "сентября",
		"Октябрь" => "октября",
		"Ноябрь" => "ноября",
		"Декабрь" => "декабря"
	);
	return strtr($the_date, $replacements);
}
 
add_filter('the_time', 'true_russian_date_forms');
add_filter('get_the_time', 'true_russian_date_forms');
add_filter('the_date', 'true_russian_date_forms');
add_filter('get_the_date', 'true_russian_date_forms');
add_filter('the_modified_time', 'true_russian_date_forms');
add_filter('get_the_modified_date', 'true_russian_date_forms');
add_filter('get_post_time', 'true_russian_date_forms');
add_filter('get_comment_date', 'true_russian_date_forms');

Этот код изменяет названия месяцев на правильное с точки зрения русского языка. Например, 10 январь будет изменено на 10 января. Код работает со стандартными функциями вывода дат в русской версии WordPress.

Если же вы используете английскую версию WordPress, но хотите, чтобы выводились правильные даты на русском языке, то используйте в коде этот массив месяцев:

	$replacements = array(
		"Jan" => "января",
		"Feb" => "февраля",
		"Mar" => "марта",
		"Apr" => "апреля"
		"May" => "мая",
		"Jun" => "июня",
		"Jul" => "июля",
		"Aug" => "августа",
		"Sep" => "сентября",
		"Oct" => "октября",
		"Nov" => "ноября",
		"Dec" => "декабря"
	);

Этот код работает со стандартными функциями вывода дат и только в текущей теме.

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий

  1. рипер-рерайтер

    Спасибо! Помогло! Покликал по рекламкам)

    Ответить
    1. Aza

      Я тоже так делаю когда сайт полезный)

      Ответить