快轉到主要內容

Wordpress 主題顯示預估閱讀時間

·422 字·1 分鐘
Y Cheung
作者
Y Cheung
Blogger, Programer & Traveler.
目錄

突然發現Y CHUENG寫的遊記太長了,有的遊記居然有好些人看了15分鐘,於是想在頁面靠前的地方顯示預估閱讀時間,讓讀者有個文太長的心理準備😂

如何計算文章閱讀時長
#

這個預估閱讀時間的計算很粗暴,就是文章字數/平均閱讀速度。Y CHEUNG 抓的平均閱讀速度是500。一般人大約是200~500左右,隨意哈。雖然 PHP 內建有計算字數的函數 str_word_count ,但是中文用這個不好使,得出的數字不對,還是用正則匹配後計算啦。

操作步驟
#

修改 function.php
#

在主題theme的 function.php 文件末尾處添加以下代碼:

1// function.php
2function reading_time() {
3    $content = get_post_field( 'post_content', $post->ID );
4    $word_count = mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($content))),'UTF-8');
5    $readingtime = ceil($word_count / 500);
6    $timer = ($readingtime == 1) ? "minute" : "minutes";
7    $totalreadingtime = $readingtime . $timer;
8    return $totalreadingtime;
9}

修改頁面template
#

在主題需要顯示預估閱讀時間的任意處添加以下代碼:

1<?php echo reading_time(); ?>

Reference
#

相關文章

Wordpress主题添加ogp协议meta标签

·459 字·1 分鐘
OGP(The Open Graph protocol)协议是一种新的HTTP头部标记,即Open Graph Protocol,即这种协议可以让网页成为一个“富媒体对象”。由于现在社交类网站大行其道,在HTML头部添加引用此类协议标注有助于被社交网站识别。

Highslide Image WP插件完成

·237 字·1 分鐘
Y Cheung的玩樂博客要搬家啦,用了N多年的插件原作者一直不更新,嗚嗚嗚,只好自己重新寫一個喇! Highslide Image - Wordpress插件 我的思路是: 編輯器上添加一個按鈕——彈出窗口——供填寫圖片URL及描述的表單——插入代碼至編輯器中——前台樣式化效果顯示。

Wordpress默认相册与文字内容分开显示及定制显示格式

·1319 字·3 分鐘
最近工作上要重新建站,公司有些站点是ASP的,程序老旧经常被黑。因为就是一般的企业展示类站点,就直接用wordpress重建了,页面样式还是用原来的,工作重点就是如何output出跟旧站一样的html结构。得益于这大半年的几个drupal项目,在做的时候思路跟以前不同了,不得不说drupal的核心思维还是很赞很科学的。

Wordpress在循环LOOP中获取 post_date 使用自定义日期时间格式

·146 字·1 分鐘
code示例: 1<?php $args = array('numberposts' => '16','category' => '8'); 2 $recent_posts = wp_get_recent_posts( $args, ARRAY_A ); 3 foreach ($recent_posts as $recent) { 4 echo '<li><a href="'. get_permalink($recent["ID"]).'">'.$recent["post_title"].'</a><span class="list-meta">'. mysql2date('Y-m-d', $recent["post_date"]) .'</span></li>'; 5 } 6?> 原本直接用$recent['post_date']输出的是2014-11-11 14:30:24这样的格式,但现在不需要时间的输出,Y.Cheung 只需要输出日期,找了一下用mysql2date函数就可以。