怎么給文章增加閱讀時間? - 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教程-Npcink
    怎么給文章增加閱讀時間? - WordPress教程-Npcink

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

    教程

    Codestar Framework框架使用 - WordPress教程

    2019-5-11 13:15:56

    國內主題

    Muiteer - 簡,極簡,極具格調之簡

    2020-4-18 0:02:00

    ??
    Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    0 條回復 A文章作者 M管理員
      暫無討論,說說你的看法吧
    ?
    個人中心
    購物車
    優惠劵
    今日簽到
    有新私信 私信列表
    搜索
    主站蜘蛛池模板: 国产熟女一区二区三区四区五区| 一区二区福利视频| 日韩福利视频一区| 一区二区国产在线观看| 精品国产日产一区二区三区 | 国产第一区二区三区在线观看| 亚洲中文字幕无码一区二区三区| av在线亚洲欧洲日产一区二区| 国产伦精品一区二区三区免费迷| 亚洲av日韩综合一区二区三区| 亲子乱av一区区三区40岁| 无码人妻啪啪一区二区| 理论亚洲区美一区二区三区| 韩国一区二区三区| 国产一区二区三区不卡在线看| 日本在线电影一区二区三区| 日本精品一区二区三区在线视频一 | 久久国产精品一区| 国模吧无码一区二区三区| 免费视频一区二区| 91一区二区视频| 国产情侣一区二区| 亚洲高清偷拍一区二区三区| 亚洲色精品vr一区二区三区| 亚洲综合一区二区国产精品| 一色一伦一区二区三区| 高清一区二区在线观看| 亚洲福利精品一区二区三区| 国产suv精品一区二区33| 亚洲国产精品一区二区久| 日本一道一区二区免费看| 国产精品亚洲产品一区二区三区| 在线观看午夜亚洲一区| 97一区二区三区四区久久| 国产一区二区三区内射高清| 国精品无码一区二区三区在线 | 国产中文字幕一区| 久久99久久无码毛片一区二区| 日本在线一区二区| 韩国资源视频一区二区三区| 国产午夜三级一区二区三|