加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > wordpress > 正文

WordPress 随机自定义摘要长度的教程

发布时间:2020-12-14 14:12:40 所属栏目:wordpress 来源:网络整理
导读:WordPress文章摘要的长度是默认的,你可以通过代码修改让它固定显示地更长些或短些。通常摘要无法保证结尾刚好是一句话结束的地方,有时候一句话就被截断了,如果读者只看摘要,有可能会产生各种误会。 如果将下面这段代码贴入functions.php可以返回预先设定

WordPress文章摘要的长度是默认的,你可以通过代码修改让它固定显示地更长些或短些。通常摘要无法保证结尾刚好是一句话结束的地方,有时候一句话就被截断了,如果读者只看摘要,有可能会产生各种误会。

如果将下面这段代码贴入functions.php可以返回预先设定的最大长度,并删除摘要内最后一句话后的其他内容,以保证摘要不在某个句子中间截断。

要用到的是print_excerpt()函数。在主题模板下这个函数的用法是:

<?php print_excerpt(50); ?>

而下面这段代码,将摘要的最大长度设为50个字符(你可以根据需要修改这个数值),然后截取50个字符内的所有完整句子作为摘要,最后一句话后的内容会被排除在摘要之外。

// 智能可变摘要长度
function print_excerpt($length) { // 摘要最大长度,以字符计算. Length is set in characters
global $post;
$text = $post->post_excerpt;
if ( '' == $text ) {
$text = get_the_content('');
$text = apply_filters('the_content',$text);
$text = str_replace(']]>',']]>',$text);
}
$text = strip_shortcodes($text); // 可选,推荐使用
$text = strip_tags($text); // 使用 ' $text = strip_tags($text,'
<p><a>'); ' if you want to keep some tags</p>
<p> $text = substr($text,$length);
$excerpt = reverse_strrchr($text,'.',1);
if( $excerpt ) {
echo apply_filters('the_excerpt',$excerpt);
} else {
echo apply_filters('the_excerpt',$text);
}
}</p>
<p>// 返回最后一个needle前的内容
function reverse_strrchr($haystack,$needle,$trail) {
return strrpos($haystack,$needle) ? substr($haystack,strrpos($haystack,$needle) + $trail) : false;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读