最新消息:yaf表单扩展中新增加了浮点数、日期和集合的校验。php yaf框架扩展实践三——表单

wordpress修改文章摘要长度,直接从模板入手

PHP 6683浏览 2评论

wordpress中文章摘要长度默认是55个,这对于中文来说,显然长度不太够,那么如何修改呢?

在模板中输出摘要的方法是the_excerpt(),我们可以找到方法源:wp-includes/formatting.php中的wp_trim_excerpt方法,其中应当有设置摘要长度的代码,可以找到55这个数字,这里的55就是摘要的长度了。

但是我并不建议修改系统方法里的代码,如果能在模板里修改就最好了,wordpress也提供了这样的支持。打开模板下的functions.php文件,增加如下代码:

function reset_excerpt_length($length) {
    return $new_length;
}
add_filter('excerpt_length', ' reset_excerpt_length ');

意思就是说,我需要重新设定摘要的长度,请在设定摘要长度时调用我添加的过滤方法。其中参数$length表示原始长度,$new_length表示新设定的长度,可以设置成自己需要的值。

有的童靴可能会担心截取摘要的时候出现半截html标签或者是截取到半个中文,出现乱码的情况。这个wordpress做的很好,截取摘要的时候,会去除html标签,并且支持国际化,所以不用担心。

转载请注明:快乐编程 » wordpress修改文章摘要长度,直接从模板入手

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (2)

  1. function excerpt($excerpt_length) {
    global $post;
    $content = $post->post_content;
    $words = explode(' ', $content, $excerpt_length + 1);
    if(count($words) > $excerpt_length) :
    array_pop($words);
    array_push($words, '...');
    $content = implode(' ', $words);
    endif;

    $content = strip_tags(strip_shortcodes($content));

    return $content;

    }

    这个怎么修改?也是不支持中文?咱们文章没说怎么过滤,过滤方法是?
    youxiyu5年前 (2012-11-02)回复
    • 陈杰斌
      模板里有一个functions.php文件,你增加了重新设置摘要长度的方法后,wordpress在获取摘要时会调用你的这个方法。
      山涧林鱼5年前 (2012-11-02)回复