Простой сниппет для вывода времени чтения переданного текста в WordPress
<?php
/**
* Расчитать время на прочтение текста
*
* @param $str
*
* @return float|int
*/
function mihdan_estimated_reading_time( $str ) {
$words_per_minute = 100;
$num_words = mihdan_word_count( $str );
$minutes = ceil( $num_words / $words_per_minute );
$seconds = ceil( $num_words % $words_per_minute / ( $words_per_minute / 60 ) );
return sprintf( '%s мин. %s сек.', $minutes, $seconds );
}
/**
* Подсчитывает количество слов в тексте
*
* @param $str
*
* @return mixed
*/
function mihdan_word_count( $str ) {
return str_word_count( wp_strip_tags( strip_shortcodes( $str ) ) );
}
/**
* Триггерим хук
*/
add_action( 'mihdan_reading_time', 'mihdan_estimated_reading_time' );
/**
* Для отображения сниппета на странице
* используйте следующую конструкцию,
* где $content - сам текст.
*/
<?php echo do_action( 'mihdan_reading_time', $content ); ?>