当前位置:首页>WordPress建站>基础教程>WordPress自动截取限定数字的摘要

WordPress自动截取限定数字的摘要

在主题的制作过程中,需要用到自动截取限定字数的文章摘要,虽然,有些人使用 more 标签来截取,也有些人会自己给每篇文章填写摘要,然后使用 the_excerpt() 函数输出, 但并不是所有的朋友都有这些习惯。而且,他们自己截取的摘要,可能超过了主题的样式限制,比如下图,摘要的字数太多,超出了主题样式的设置,看上去很不爽。

wpdaxue.com-201210102

所以,做大众主题的我们,需要自动截取限定字数的摘要,满足自己设置样式的需要。

WordPress 3.3 新增了一个 wp_trim_words() 函数,专门用来截取限定字数的内容,比如文章、摘要、标题等,使用方法请看:

https://www.wpdaxue.com/wp_trim_words.html

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

除了插件以外,用得比较多的是下面的代码,是使用php本身的 mb_strimwidth 函数实现的,在需要显示摘要的地方使用下面的代码:

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

上面的数字 200,可以根据自己的需要来修改。

但是,如果有些主机空间不支持 mb_strimwidth 函数怎么办?那可以使用下面的方法实现效果。

在主题的 functions.php 文件最后一个 ?> 前面添加下面的函数

//摘要截断
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;
}

然后在需要显示摘要的地方使用下面的代码调用即可:

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

同样,上面的 200 ,也可以根据自己的需要修改。

如果你有更加完美的实现代码,欢迎留言与我们交流。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
欢迎关注WordPress大学公众号 WPDAXUE
基础教程

WordPress使用jQuery 按比例调整图片高度/宽度

2012-10-17 6:06:00

基础教程

WordPress添加彩色标签云

2012-11-2 5:32:00

4 条回复 A文章作者 M管理员
  1. Reuel

    怎样的摘要才完美? 1,优先显示自定义摘要,没有自定义摘要的情况下自动摘要。你觉得呢

  2. ❓ 这个不错,不过这个好像截取时候会长短不一的,不知道有没有以宽度而截取的,比如我设置200PX就进行…这样估计更方便多吧- -~

  3. 好用!

  4. 感谢、

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索