WordPress неправильно показывает количество минут на прочтение статьи

У меня на сайте с темой ocean wp неправильно сайт показывает кол-во минут на прочтение статтьи.

причем на английском показывает примерно правильно 22 минуты
а статья на русском – 1 минута

Кол-во слов в русской статье в редакторе сайта – 2882 слова.

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

functions.php





// 1. Наша собственная функция подсчета времени (точнее для русского языка)
function my_accurate_reading_time( $post_id = null ) {
    $post_id = $post_id ? $post_id : get_the_ID();
    $content = get_post_field( 'post_content', $post_id );
    
    // Удаляем шорткоды и HTML теги, оставляем чистый текст
    $clean_content = strip_shortcodes( $content );
    $clean_content = wp_strip_all_tags( $clean_content );
    
    // Считаем слова, используя mb_split для поддержки UTF-8 (кириллицы)
    $word_count = count( mb_split( '\s+', trim( $clean_content ) ) );
    
    // Скорость чтения: 200 слов в минуту
    $minutes = ceil( $word_count / 200 );
    
    return $minutes;
}

// 2. Фильтр, который заменяет стандартную функцию OceanWP на нашу
add_filter( 'oceanwp_post_reading_time', 'my_custom_reading_time_override' );
function my_custom_reading_time_override( $time ) {
    return my_accurate_reading_time();
}




скрипт, подсчитывает кол-во слов в статье (без учета тегов)

после чего скрипт делит на 200 (это в среднем скорость спокойного чтения человека слов/мин)

а после округляет в большую сторону
не 1,55 мин а 2 мин

guest
Другие сообщения форума
Закрыть меню
ZAPLATA.RU | Магазин готовых блогов Wordpress с автонаполнением
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.