X
Заказать услугу

Склоняем слово комментарии WordPress

Плагины и Шаблоны для Wordpress
  • 2018-12-12
  • 2567 просмотр

    5 комментарий

  • Дизайн и разработка сайта

Доброго времени суток. 🙂

Этот урок посвящен небольшому улучшению, ну или дополнению к стандартному функционалу WordPress. Каждый у кого есть свой блог на WordPress, замечал, что на некоторых стандартных темах или на других есть такой маленький некрасивый элемент, который сообщает о количестве оставленных комментариев. Некрасивый, он потому что пишет текст примерно следующего вида - К этой записи комментариев: 3. Конечно же хочется видеть правильное написание, как это сделано на некоторых темах или Вы видели у других на сайте - К записи оставили 3 комментария или Опубликовано 8 комментариев.

Склонение комментарий

Хочу показать Вам, как можно склонить слово Комментарий в зависимости от количества. Получится примерно так - 1 комментарий, 2 комментария, 5 комментариев. Думаю так намного красивей и более похоже на правду :). Покажу два варианта, реализации склонения слов.

Первый вариант просто склоняет слово - Комментарий. Для этого нужно открыть файл 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 comments_number('Комментарии  %' );?>

У Вас может быть немного другая, ее надо заменить на новую, которая имеет следующий вид:

<?php
plural_form(
    get_comments_number(),
    array('комментарий','комментария','комментариев')
);
?>

Теперь у вас выведет - 2 комментария и тд. Можете спереди перед функцией дописать, например - Посетители оставили. В результате у Вас будет - Посетители оставили 2 комментария.

Второй вариант склоняет сразу два слова. Одно перед цифрой, второе после. Для примера выбраны слова - Опубликовано и Комментарий. В результате у нас получится - Опубликовано 8 комментариев. Такой вариант использован и у меня на сайте.

Опять же надо просто первый код добавить в 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)]];
}

Второй код, также как и в первом варианте, нужно вставить вместо того что стоит у вас в comments.php.

<?php
plural_form(
    get_comments_number(),
    array('Опубликован','Опубликовано','Опубликовано'),
    array('комментарий','комментария','комментариев')
);
?>

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

На этом все, спасибо за внимание. 🙂

Если Вам был полезным мой труд, можете поддержать сайт, обменяться со мной текстовыми ссылками или посмотреть рекламку, что займет 2 минуты :)

Оцените статью
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 11, в среднем: 5 из 5
Читайте также
Опубликовано 5 комментариев

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

Чтобы оставить комментарий - заполните поля ниже. Ваш e-mail не будет опубликован. Все поля обязательны

Нажмите, чтобы добавить код в комментарий. Далее добавьте свой код внутрь тегов <code> тут код </code>
Я ознакомлен(а) с политикой конфиденциальности и даю согласие на обработку персональных данных*

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.