Подсчет примерного время чтения блога ICMS 2

 
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2785
На вордпрессе есть удобная функция, которая делает примерный подсет времени чтения блога. Как сообщают некоторые источники, это увеличиват на 30% времяприбывания пользователя.

Саму функцию нашел, но никак не придумаю как ее вставить под заголовок записи типа контента.

Код PHP:
  1. function bm_estimated_reading_time() {
  2.  
  3. $post = get_post();
  4.  
  5. $words = str_word_count( strip_tags( $post->post_content ) );
  6. $minutes = floor( $words / 120 );
  7. $seconds = floor( $words % 120 / ( 120 / 60 ) );
  8.  
  9. if ( 1 < = $minutes ) {
  10. $estimated_time = $minutes . ' minute' . ($minutes == 1 ? '' : 's') . ', ' . $seconds . ' second' . ($seconds == 1 ? '' : 's');
  11. } else {
  12. $estimated_time = $seconds . ' second' . ($seconds == 1 ? '' : 's');
  13. }
  14.  
  15. return $estimated_time;
  16.  
  17. }
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проектаКубок зрительских симпатий
Сообщений: 3090
а можно глянуть на весь код
Реклама
cms
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2651
Jestik,
Эта штука просто подсчитывает количество слов в тексте и исходя из этого делает выводы о времени нужном на его прочтение.
http://wp-templ.ru/manual/679-estimated-reading-time.html
http://wordsmall.ru/bez-plagina/dobavlyaem-statya-wordpress-podschet-slov-i-primernoe-vremya-na-ix-prochtenie.html
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2785
Ris:
Jestik,
Эта штука просто подсчитывает количество слов в тексте и исходя из этого делает выводы о времени нужном на его прочтение.
http://wp-templ.ru/manual/679-estimated-reading-time.html
http://wordsmall.ru/bez-plagina/dobavlyaem-statya-wordpress-podschet-slov-i-primernoe-vremya-na-ix-prochtenie.html
верно. осталось понятьк ак вставитьт это в движок
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проектаКубок зрительских симпатий
Сообщений: 3090
Это ж надо как то дать понять, какое поле надо считать...
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2651
Jestik:
Это ж надо как то дать понять, какое поле надо считать...
Предпринял попытку тупо посчитать слова в
Код PHP:
  1. $text = $field['handler']->setItem($item)->parseTeaser($item[$field['name']]);
Спойлер
Оно считает, что там 10 слов. Если теги обрезать strip_tags - количество слов резко уменьшается до двух.
Редактировалось: 1 раз (Последний: 14 августа 2016 в 10:44)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1164
..\templates\default\content\default_item.tpl.php
В начало вставляйте
Код PHP:
  1. <?php
  2. function bm_estimated_reading_time($content='') {
  3.  
  4. $min = 'минуту|минуты|минут';
  5. $sec = 'секунду|сенунды|секунд';
  6.  
  7. $words = count( explode(' ', strip_tags($content)) );
  8. $minutes = floor( $words / 120 );
  9. $seconds = floor( $words % 120 / ( 120 / 60 ) );
  10.  
  11. return $minutes < 1 ? html_spellcount($seconds, $sec) : html_spellcount($minutes, $min) . ( $seconds == 0 ? '' : ', ' . html_spellcount($seconds, $sec));
  12.  
  13. }
  14. ?>
Затем в желаемое место добавляете вызов:
Код PHP:
  1. <?php if (!empty($item['content'])) { ?>
  2. <span>Читать: <?php echo bm_estimated_reading_time($item['content']); ?></span>
  3. <?php } ?>
Например после заголовка будет так
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.