Давайте рассмотрим удобную функцию, которая позволяет определить примерное время чтения статьи и выводит количество слов в тексте. Такая возможность может быть полезной и интересной во многих случаях, а также может стать просто декоративным элементом. Мы покажем, как реализовать время чтения статьи без использования плагинов.
Реализация времени на чтения статьи в WordPress
Для реализации функции подсчета времени чтения статьи вам необходимо добавить специальную функцию в файл functions.php вашей темы в WordPress. Эта функция будет осуществлять подсчет слов в статье и на основе этого определять среднее время чтения.
// Начало: Показать количество слов function show_post_word_count() { ob_start(); the_content(); $content = ob_get_clean(); $word_count = sizeof(explode(" ", $content)); $output = '<span>' . 'Слов в статье: ' . '</span>' . '<span>' . $word_count . '</span>'; return $output; } // Конец: Показать количество слов // Начало: Расчетное время чтения if (!function_exists('est_read_time')): function est_read_time($return = false) { $wordcount = round(str_word_count(get_the_content()), -2); $minutes_fast = ceil($wordcount / 250); $minutes_slow = ceil($wordcount / 150); if ($wordcount <= 150) { $output = __("1 мин"); } else { $output = sprintf(__("%d-%d мин"), $minutes_fast, $minutes_slow); } $output_with_word = '<span>' . 'На чтение:' . '</span>' . '<span>' . $output . '</span>'; if ($return) { return $output_with_word; } else { echo $output_with_word; } } endif; if (!function_exists('est_the_content')): function est_the_content($orig) { // Подставлять время чтения к контенту return est_read_time(true) . "\n\n" . $orig; } endif; // конец: Расчетное время чтения
Вывод функции чтения статьи
На втором этапе нам следует выбрать место, где будет отображаться время чтения статьи. Обычно оно выводится в файлах single.php, которые отвечают за отображение отдельных статей. Для этого откроем соответствующий файл и вставим нижеприведенный код в самый вверх файла, но ниже заголовка.
<div class="read_time"> <?php echo est_read_time(); ?> <?php echo show_post_word_count(); ?> </div>
Стили оформления
Для завершения нам осталось лишь придать нашей функции чтения статьи привлекательный внешний вид. Для этого откройте файл style.css и добавьте следующие стили:
.read_time { margin: 20px 0; } .read_time span { display: inline-block; } .read_time span:nth-child(1), .read_time span:nth-child(3) { color: #888; font-size: 14px; margin-right: 8px; } .read_time span:nth-child(2), .read_time span:nth-child(4) { color: #1795F5; font-weight: 600; margin-right: 10px; }
Результат.