自定义WordPress摘要长度
转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]
本文链接: http://www.php-oa.com/2007/12/08/zidingyiwordpresszhaiyaochangdu.html
新的方法,更新日期7月4日,版本WordPress2.5。
找到你模板中的index.php下面的这句
1 | <?php the_content(’Read the rest of this entry »’); ?> |
修改为
1 | <?php the_excerpt();?> |
下面是以前的旧方法
在WordPress的模板中,通常使用the_excerpt来显式当前文章的摘要。但摘要太长。下面就是讲讲如何把摘要变短。因为我原来用 cublog,那个的很好用可以自己设置.下面我们也来设置wordpress吧。我现在用的是版本是WordPress 2.3.1 ; 在wp-includes目录下找到formatting.php,里面有这样一个函数:
- function wp_trim_excerpt($text) {
- global $post;
- if ( ” == $text ) {
- $text = get_the_content(”);
- $text = apply_filters(‘the_content‘, $text);
- $text = str_replace(‘]]>‘, ‘]]>‘, $text);
- $text = strip_tags($text);
- $excerpt_length =55;
- $words = explode(‘ ‘, $text, $excerpt_length + 1);
- if (count($words) > $excerpt_length) {
- array_pop($words);
- array_push($words, ‘[...]‘);
- $text = implode(‘ ‘, $words);
- }
- }
- return $text;
- }
它就是专门用来截取摘要长度的。把基本的“55”改成10就可以了。 为什么要减少这么多呢?这就要看第10行使用的count函数了。 它是按照空格(换行也相当于空格)来计数的。 在英文中,每个词之间都会有空格,所以遇到第三个空格时只会输出三个单词。 但中文就不一样的,句号后面都没有空格。唯一的空格发生在换行时。所以这样的设置就是把前面10行作为摘要输出。 当然,如果你在第一行里有很多空格,那么只会输出到第10个空格。



















用了,但是没效果啊,不知道怎么回事
要用新的方法.有空可以加我的qq,我教你147492361
找了很久。也没找到这个的解决方法。
从你这才发现一开始,自己找错了方向了,找的是the_content()的用法,
现在解决了,我遇到的难题了,,
真要谢谢你了、、、
好办法。只是wordpress更新频繁,这样直接修改核心代码可能会在将来带来更多无谓的麻烦。
我首页是可以生成摘要,但列表页还是不变?怎么回事?难道要对列表页单独再设置下?
我不知你指的什么,可能你需要装一个中文插件