一般情况下我们会直接使用的mb_strimwidth函数,比如文章摘要,标题,标签等控制字数显示。而现在我们可以使用wp_trim_words来实现。那些早期开发的wordpress主题中没有用到wp_trim_words函数,主要还是因为它是在Wordpress 3.3.0之后才有的。

wp_trim_words($text,$num_words=100,$more='…');

函数返回的是阶段后的字符串,也就是截断后的文字。从上面的语句,我们可以看出一共有三个参数:text、num_words和more。

$text:字符串,必要参数,也就是需要阶段的字符串,可以是the_title,the_excerpt或the_content等字符串,默认为空。
$num_words:整数,截取的字符串的字数,英文是指的字母数,中文直接是中文字数,相当智能,默认为55。
$more:字符串,文字截断之后,表示后面还有更多内容的字符,默认为’…'也就是省略号。

而PHP中的mb_strimwidth函数使用方式为:

echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 100,'…');

相比之下,wp_trim_words要稳定一些,而且也不用再担心bug和兼容性问题了。再来看一下我们会要经常用到的几组语法:

<?php
    echo wp_trim_words( get_the_title(),15);// 在文章标题截取15个字
    echo wp_trim_words( get_the_content(),150);// 在文章内容截取150字
    echo wp_trim_words( get_the_excerpt(),100);// 在文章摘要截取100字
?>

很方便吧?!