當前位置:首頁>WordPress建站>基礎教程>WordPress自動截取限定數(shù)字的摘要

WordPress自動截取限定數(shù)字的摘要

在主題的制作過程中,需要用到自動截取限定字數(shù)的文章摘要,雖然,有些人使用 more 標簽來截取,也有些人會自己給每篇文章填寫摘要,然后使用 the_excerpt() 函數(shù)輸出, 但并不是所有的朋友都有這些習慣。而且,他們自己截取的摘要,可能超過了主題的樣式限制,比如下圖,摘要的字數(shù)太多,超出了主題樣式的設置,看上去很不爽。

wpdaxue.com-201210102

所以,做大眾主題的我們,需要自動截取限定字數(shù)的摘要,滿足自己設置樣式的需要。

WordPress 3.3 新增了一個?wp_trim_words()?函數(shù),專門用來截取限定字數(shù)的內(nèi)容,比如文章、摘要、標題等,使用方法請看:

http://www.ydqwiac.cn/wp_trim_words.html

===============不再推薦下面的方法========================

除了插件以外,用得比較多的是下面的代碼,是使用php本身的 mb_strimwidth 函數(shù)實現(xiàn)的,在需要顯示摘要的地方使用下面的代碼:

<?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 200,"..."); ?>

上面的數(shù)字 200,可以根據(jù)自己的需要來修改。

但是,如果有些主機空間不支持 mb_strimwidth 函數(shù)怎么辦?那可以使用下面的方法實現(xiàn)效果。

在主題的 functions.php 文件最后一個 ?> 前面添加下面的函數(shù)

//摘要截斷
function dm_strimwidth($str ,$start , $width ,$trimmarker ){
$output = preg_replace('/^(?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,'.$start.'}((?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,'.$width.'}).*/s','1',$str);
return $output.$trimmarker;
}

然后在需要顯示摘要的地方使用下面的代碼調(diào)用即可:

<?php echo dm_strimwidth(strip_tags($post->post_content),0,200,"..."); ?>

同樣,上面的 200 ,也可以根據(jù)自己的需要修改。

如果你有更加完美的實現(xiàn)代碼,歡迎留言與我們交流。

聲明:本站所有文章,如無特殊說明或標注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權益,可聯(lián)系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關注WordPress大學公眾號 WPDAXUE
基礎教程

WordPress使用jQuery 按比例調(diào)整圖片高度/寬度

2012-10-17 6:06:00

基礎教程

WordPress添加彩色標簽云

2012-11-2 5:32:00

4 條回復 A文章作者 M管理員
  1. Reuel

    怎樣的摘要才完美? 1,優(yōu)先顯示自定義摘要,沒有自定義摘要的情況下自動摘要。你覺得呢

  2. ? 這個不錯,不過這個好像截取時候會長短不一的,不知道有沒有以寬度而截取的,比如我設置200PX就進行…這樣估計更方便多吧- -~

  3. 好用!

  4. 感謝、

?
個人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

遂溪县| 仙游县| 青州市| 德昌县| 湖州市| 吴川市| 祁东县| 金沙县| 桓仁| 天等县| 克东县| 黑龙江省| 舟山市| 射阳县| 乌恰县| 河北省| 即墨市| 中牟县| 闽侯县| 巴彦淖尔市| 娄烦县| 镇安县| 抚远县| 白朗县| 鱼台县| 江都市| 类乌齐县| 内乡县| 江阴市| 武邑县| 兴仁县| 朔州市| 海南省| 阿拉善右旗| 盐池县| 黄梅县| 凌源市| 嘉祥县| 类乌齐县| 乌审旗| 兴文县|