Функция склонения слов для 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>
Вот и все. Теперь все слова будут написаны в правильном склонении.
Удачи вам и процветания в работе над вашим блогом!
- Установка WordPress на хостинг - 11.05.2017
- Хостинг для WordPress - 26.04.2017
- 7 советов как ускорить WordPress - 18.01.2017
- WordPress плагины вывода популярных постов - 25.07.2016
- Готовим ваш сайт для мобильных устройств? - 29.06.2016
Как преодолеть технические сложности
|
Javascript + jQuery
|
Профессиональный сайт за один день.
|
Столько нового и интересного еще предстоит узнать на Вашем сайте! Спасибо Александр!
Всегда нахожу у Вас что-то нужное, полезное! Спасибо!