Функция склонения слов для WordPress

Как исправить склонение слов в WordPress?

Здравствуйте, дорогие читатели! Сегодня мы продолжим улучшать свой блог, исправляя склонения некоторых слов. Вам наверняка приходилось видеть на блогах, как написаны слова о количестве комментариев для определенного поста. Как правило, это выглядит вот так: «К этой записи комментариев: 3» И естественно это не красиво и не правильно по-русски. Правильно бы было: «К этой записи 3 комментария».

WordPress, естественно, сам не может учитывать особенности русского языка, а переводчики движка этим не замарачиваютя. Поэтому мы должны помочь нашему движку и исправить эту ошибку. Да и согласитесь когда на блоге что-то написано не по-русски, это производит не приятное впечатление. Люди привыкли подмечать в первую очередь ошибки, а уж потом саму суть написанного поста.

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

Предлагаю вам простую функцию, которая будет правильно склонять слова, в зависимости от числа комментариев.

Первый вариант.

Итак, первое, что нам надо сделать, это открыть файл functions.php нашей текущей темы и добавить в него вот такую функцию:

function plural_form($number, $after) {
	$cases = array (2, 0, 1, 1, 1, 2);
	echo $number.' '.$after[ ($number%100>4 && $number%100<20)? 2: $cases[min($number%10, 5)] ];
}

 

После этого, открываем файл, отвечающий за комментарии, у меня это comments.php и заменяем функцию вывода количества комментариев вот на эту:

<?php
plural_form(
	get_comments_number(),
	/* варианты написания для количества 1, 2 и 5 */
	array('комментарий','комментария','комментариев')
);
?>

 

Этот вариант выводит текст вот такого вида: «… 3 комментария».

Второй вариант.

Когда нужен текст вида «… опубликован 21 комментарий».

В файл functions.php мы вставляем следующую функцию:

function plural_form($number,$before,$after) {
	$cases = array(2,0,1,1,1,2);
	echo $before[($number%100>4 && $number%100<20)? 2: $cases[min($number%10, 5)]].' '.$number.' '.$after[($number%100>4 && $number%100<20)? 2: $cases[min($number%10, 5)]];
}

 

А в файле, который выводит текст о количестве комментариев, меняем старую функцию на эту:

<?php
plural_form(
	get_comments_number(),
	/* варианты написания для количества 1, 2 и 5 */
	array('опубликован','опубликовано','опубликовано'),
	array('комментарий','комментария','комментариев')
);
?>

 

Если вы хотите, чтоб выводимая фраза о количестве комментариев была ссылкой на эти коменты, вам надо сделать вот так:

<a href="<?php the_permalink() ?>#comments">[тут вставляем вышеуказанный PHP-код, который выводит количество комментариев]</a>

 

Вот и все. Теперь все слова будут написаны в правильном склонении.

Удачи вам и процветания в работе над вашим блогом!

Автор - Александр

Меня зовут Александр.
Я Вебмастер и SEO — специалист по созданию и продвижению сайтов на WordPress.
В профессиональном интернет-маркетинге c 2007 года. Основные направления: создание и продвижение web-проектов в российском сегменте интернет. Специализация: создание сайтов и их комплексное продвижение, внутренняя оптимизация, внешняя оптимизация, трафиковое продвижение, контентное продвижение...

Связаться со мной >>
Посмотреть все публикации

    Ваше имя (обязательно)

    Ваш e-mail (обязательно)

    Сообщение (обязательно)

    "Поставьте галочку, если вы не робот"

    и решите пример ответ буквами

    2 комментария

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

    Ваш адрес email не будет опубликован. Обязательные поля помечены *