怎么給文章增加閱讀時間? – WordPress教程

    這次的wordpress開發教程教大家如何添加文章的閱讀時間。

    今天分享 一個有趣的玩意。那就是給文章增加閱讀時間Meta值。之前分享過統計文章字數的,這個可以統計閱讀文章大概需要多久的,可以配合使用哦。

    效果圖

    怎么給文章增加閱讀時間? - WordPress教程

    廢話不多說。下面的統計計算閱讀時間的相關主代碼:

    /*-----------------------------------------------------------------------------------*/
    # Calculate reaad time
    /*-----------------------------------------------------------------------------------*/
    if(!function_exists('ie_calculate_reading_time')){
      function ie_calculate_reading_time($postID = false, $echo = false) {
        $wpm = 250;
        if(!$postID){
          $postID = get_the_ID();
        }
        $include_shortcodes = true;
        $exclude_images = false;
        $tmpContent = get_post_field('post_content', $postID);
        $number_of_images = substr_count(strtolower($tmpContent), '<img ');
        if ( ! $include_shortcodes ) {
          $tmpContent = strip_shortcodes($tmpContent);
        }
        $tmpContent = strip_tags($tmpContent);
        $wordCount = str_word_count($tmpContent);
        if ( !$exclude_images ) {
          $additional_words_for_images = ie_calculate_images( $number_of_images, $wpm );
          $wordCount += $additional_words_for_images;
        }
        $wordCount = apply_filters( 'ie_filter_wordcount', $wordCount );
        $readingTime = ceil($wordCount / $wpm);
        // If the reading time is 0 then return it as < 1 instead of 0.
        if ( $readingTime < 1 ) {
          $readingTime = esc_html__('< 1 min read', 'ie-core');
        } elseif($readingTime == 1) {
          $readingTime = esc_html__('1 min read', 'ie-core');
        } else {
          $readingTime = $readingTime.' '.esc_html__('mins read', 'ie-core');
        }
        if($echo){ 
          echo $readingTime;
        } else {
          return $readingTime;
        }
      }
    }
    ?

    因為大多少文章還有圖像。我們還需要定義閱讀圖像的時間,代碼如下:

    if(!function_exists('ie_calculate_images')){
      function ie_calculate_images( $total_images, $wpm ) {
        $additional_time = 0;
        // For the first image add 12 seconds, second image add 11, ..., for image 10+ add 3 seconds
        for ( $i = 1; $i <= $total_images; $i++ ) {
          if ( $i >= 10 ) {
            $additional_time += 3 * (int) $wpm / 60;
          } else {
            $additional_time += (12 - ($i - 1) ) * (int) $wpm / 60;
          }
        }
        return $additional_time;
      }
    }

    把上面兩段代碼復制粘貼到你的主題的funtion.php文件里面。在你想要的位置加入調用下面的調用代碼就行了。

    <?php echo ie_calculate_reading_time(); ?>

    太麻煩了?

    試試這個簡單的版本,但是只能估算到分,但也夠用了

    function count_words_read_time () {
        global $post;
        $text_num = mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($post->post_content))),'UTF-8');
        $read_time = ceil($text_num/300); // 修改數字300調整時間
        $output .= '本文共計' . $text_num . '個字,預計閱讀時長' . $read_time  . '分鐘。';
        return $output;
    }

    調用:

    <?php echo count_words_read_time(); ?>

    既然做了閱讀時間,那么把wordpress主題統計文章字數也加上吧:

    怎么統計文章字數? – WordPress教程

    給TA贊賞
    共{{data.count}}人
    人已贊賞
    ??
    Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    ?
    購物車
    優惠劵
    搜索
    主站蜘蛛池模板: 国产在线精品一区免费香蕉 | 精品欧洲av无码一区二区三区 | 亚洲乱码日产一区三区| 中文字幕一区二区人妻性色| 中文乱码精品一区二区三区| 亚洲免费视频一区二区三区| 久久精品免费一区二区三区| 亚洲a∨无码一区二区| 狠狠色成人一区二区三区| 日韩精品一区二区三区老鸦窝| 人妻少妇一区二区三区| 少妇一夜三次一区二区| 亚洲一区二区三区在线观看精品中文| 国产精品乱码一区二区三| 国产成人精品一区二区三区免费 | 一区二区国产在线播放| 麻豆一区二区99久久久久| 亚洲熟女乱综合一区二区| 亚洲av乱码一区二区三区香蕉| 中文乱码精品一区二区三区 | 久久久久人妻一区精品果冻| 久久精品一区二区三区四区 | 无码精品视频一区二区三区| 天美传媒一区二区三区| 亚洲AV无码第一区二区三区| 在线日韩麻豆一区| 日韩精品一区二区三区中文3d| 国产精品视频一区二区三区经 | 亚洲制服中文字幕第一区| 亚洲国产成人久久综合一区77 | 国产精品久久亚洲一区二区| 日本不卡免费新一区二区三区| 中文字幕精品一区二区三区视频| 精彩视频一区二区| 国产成人高清视频一区二区| 最新中文字幕一区二区乱码| 亚洲一区二区三区久久久久| 国产亚洲福利精品一区| 少妇人妻精品一区二区三区| 日韩人妻无码一区二区三区久久99| 国产一区二区高清在线播放|