如何为WordPress模板函数mts_excerpt的截断摘要添加末尾省略号?
为mts_excerpt函数添加末尾省略号的解决方案
很简单,咱们只要在函数实际截断文本的分支里添加省略号就行,这样只有当内容真的被截断时才会显示...,字数不够设定限制的情况就不会多此一举啦。
原函数里,当count($excerpt)>=$limit的时候,说明内容超过了设定的字数限制,这时候我们在拼接完文本后直接加上省略号就可以了。修改后的完整代码如下:
function mts_excerpt($limit) { $excerpt = explode(' ', get_the_excerpt(), $limit); if (count($excerpt)>=$limit) { array_pop($excerpt); $excerpt = implode(" ",$excerpt); // 新增:添加末尾省略号 $excerpt .= '...'; } else { $excerpt = implode(" ",$excerpt); } $excerpt = preg_replace('`[[^]]*]`','',$excerpt); $new_content = strip_tags($excerpt); return $new_content; }
关键修改说明:
- 只在
count($excerpt)>=$limit的条件块里添加$excerpt .= '...';,确保只有被截断的摘要才会显示省略号 - 省略号直接拼接在处理后的文本末尾,不会影响原有的标签清理和短代码移除逻辑
如果想要更严谨一点,比如担心拼接后有多余空格,也可以把拼接和加省略号合并成一行:$excerpt = implode(" ",$excerpt) . '...';,效果完全一致。
内容的提问来源于stack exchange,提问作者Aytug Seyrek
相关产品推荐
相关产品推荐

