Команды бота

    Редактирование файла

    Создать автоматизацию

    Создать правило автоотправки

    Переслать сообщение в...

    • Загрузка списка групп...

    Возвращает строку вида «X просмотр/просмотра/просмотров» в зависимости от переданного числа (для плагина Post View Counter)

    <?php
    /**
     * Возвращает строку вида "X просмотр/просмотра/просмотров" в зависимости
     * от переданного числа X.
     */
    function get_view_count_with_declension($count) {
        // Гарантируем, что это целое число
        $count = (int) $count;
        // Определяем конечные две и одну цифру для правильных окончаний
        $mod100 = $count % 100;
        $mod10  = $count % 10;
        // Логика склонения по стандартным правилам русского языка:
        // Если последние две цифры в диапазоне 11...14 – "просмотров".
        // Иначе смотрим последнюю цифру.
        if ($mod100 >= 11 && $mod100 <= 14) {
            $declension = 'просмотров';
        } else {
            switch ($mod10) {
                case 1:
                    $declension = 'просмотр';
                    break;
                case 2:
                case 3:
                case 4:
                    $declension = 'просмотра';
                    break;
                default:
                    $declension = 'просмотров';
            }
        }
        // Собираем всё в одну строку с пробелом
        return $count . ' ' . $declension;
    }
    
    /**
     * Возвращает корректно склонённое количество просмотров для текущего поста.
     */
    function display_post_views() {
        // Получаем результат шорткода, удаляя возможные HTML-теги и пробелы
        $views_str = strip_tags(do_shortcode(''));
        $views_str = trim($views_str);
        // Приводим к целому числу
        $views = (int) $views_str;
        // Возвращаем строку с корректным склонением
        return get_view_count_with_declension($views);
    }
    
    // Используем функцию для отображения
    echo display_post_views();
    ?>

    Edit Message

    Attachments:

    AI Assistant

    Enter your instruction to edit the text: