@m4f1

Как отобразить месяца wordpress русскими словами?

Добрый день, помогите решить вопрос с выводом месяцев в вордпресс на русском языке. Код для вывода:
<div class="clear:both;"></div>	
<div id="post">               
	<ul id="bar">
		<?php
		
		$years = $wpdb->get_col("SELECT DISTINCT YEAR(post_date) FROM $wpdb->posts WHERE  post_status = 'publish' ORDER BY post_date ASC");
		
		// Цикл года
		foreach($years as $year) : ?>

		<li class="menu menu-hover"><a href="<?php echo get_year_link($year ); ?>" class="button"><?php echo $year; ?></a>
			<ul class="submenu">

		<?php $months = $wpdb->get_col("SELECT DISTINCT MONTH(post_date) FROM $wpdb->posts WHERE post_status = 'publish' AND YEAR(post_date) = '".$year."' ORDER BY post_date ASC");	
		// Месяца цикл
		foreach($months as $month) : ?>
			<li>
				<a href="<?php echo get_month_link($year, $month); ?>"><?php echo date( 'F', mktime(0, 0, 0, $month) );?></a>
			</li>
		<?php endforeach;?>
		
			</ul>
		</li>

    <?php endforeach; ?>
	</ul>
</div>
  • Вопрос задан
  • 1104 просмотра
Решения вопроса 1
V_A_B
@V_A_B
¯\_(ツ)_/¯
function dateToRussian($date){
	$month=array(
		"january"=>__("января",'VAB'),
		"february"=>__("февраля",'VAB'),
		"march"=>__("марта",'VAB'),
		"april"=>__("апреля",'VAB'),
		"may"=>__("мая",'VAB'),
		"june"=>__("июня",'VAB'),
		"july"=>__("июля",'VAB'),
		"august"=>__("августа",'VAB'),
		"september"=>__("сентября",'VAB'),
		"october"=>__("октября",'VAB'),
		"november"=>__("ноября",'VAB'),
		"december"=>__("декабря",'VAB'));
	$days=array(
		"monday"=>__("Понедельник",'VAB'),
		"tuesday"=>__("Вторник",'VAB'),
		"wednesday"=>__("Среда",'VAB'),
		"thursday"=>__("Четверг",'VAB'),
		"friday"=>__("Пятница",'VAB'),
		"saturday"=>__("Суббота",'VAB'),
		"sunday"=>__("Воскресенье",'VAB'));
	return str_replace(array_merge(array_keys($month),array_keys($days)),array_merge($month,$days),strtolower($date));}


//вывод
echo __('Сегодня','VAB').dateToRussian(date(' l, j F Y ')).__('года','VAB');
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
alex-1917
@alex-1917
Если ответ помог, отметь решением
Добавь в function.php вот это:
function correct_date($cordate = ''){
if ( substr_count($cordate , '---') > 0 ){return str_replace('---', '', $cordate);}
   $new_d = array(
        "Jan" => "Января",
        "Feb" => "Февраля",
        "Mar" => "Марта",
        "Apr" => "Апреля"
        "May" => "Мая",
        "Jun" => "Июня",
        "Jul" => "Июля",
        "Aug" => "Августа",
        "Sep" => "Сентября",
        "Oct" => "Октября",
        "Nov" => "Ноября",
        "Dec" => "Декабря"
   );
   return strtr($cordate, $new_d);
}
add_filter('the_date', 'correct_date');
add_filter('get_the_date', 'correct_date');
add_filter('the_time', 'correct_date');
add_filter('get_the_time', 'correct_date');
add_filter('get_post_time', 'correct_date');
add_filter('get_comment_date', 'correct_date');
add_filter('the_modified_time', 'correct_date');
add_filter('get_the_modified_date', 'correct_date');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы