怎么把wordpress3.5.1的主题模板TwentyTwelve修改为首页输出摘要详解

怎么把wordpress3.5.1的主题模板TwentyTwelve修改为首页输出摘要详解。用TwentyTwelve模板的人都知道,该主题无论首页还是分类页,默认的文章输出格式是全文而非摘要,这无论从美观从速度还是从seo优化上有存在弊端。小弟不是一个程序人,网上搜了一下输入摘要的教程发现适合TwentyTwelve模板的并不多。而且很多人也在求方法。经历几次的反复测试修改,结合众多教程,终于实现,现将方法共享出来,供大家参考使用。

强烈建议阅读全文后再进行修改,以免重复做无用功!

这里只拿首页举例子,分类页可照做。

查看首页代码,搜索如下代码:

<!–?php get_template_part( ‘content’, get_post_format() ); ?–>
<!–?php endwhile; ?–>

这便是首页输出文章的代码。从代码中我们得知,首页的文章输出是调用“content.php”这个页面,(注:可能有不懂代码的新手试过直接将“content”替换成“excerpt”,之后首页无内容输出。因为红色代码处的“content”是调用“content.php”页面的意思,而不是函数。)

既然调用“content.php”,那我们现在查看“content.php”页面代码,约第33行起,代码如下:

<?php if ( is_search() ) : // Only display Excerpts for Search ?>
<div>
<?php the_excerpt(); ?>
</div><!– .entry-summary –>

<?php else : ?>
<div>
<?php the_content( __( ‘Continue reading <span>&rarr;</span>’, ‘twentytwelve’ ) ); ?>
<?php wp_link_pages( array( ‘before’ => ‘<div>’ . __( ‘Pages:’, ‘twentytwelve’ ), ‘after’ => ‘</div>’ ) ); ?>
</div><!– .entry-content –>
<?php endif; ?>

绿色代码中的红色部分,是content.php页面针对搜索页的输出效果,代码是<?php the_excerpt(); ?>,所以搜索页的文章是摘要显示的。

蓝色代码中的红色部分,是content.php页面针对非搜索页的输出效果,代码是<?php the_content( __( ‘Continue reading <span>&rarr;</span>’, ‘twentytwelve’ ) ); ?>,所以非搜索页的输出效果都是全文。

这里的content可以替换成excerpt了,如果你的博客是英文版,现在就可以显示摘要了,当然,估计这几乎是不可能的^_^。如果你跟我一样是用汉字写博客,还需要做一步,在你的模板函数页面
(functions.php)里添加这样一段代码(我是加在了最下面),

function my_excerpt_length($length) { return 170; } add_filter(‘excerpt_length’, ‘my_excerpt_length’)  (这里的170即是摘要显示的字数,可根据需要修改)

(为什么中英文有差异?因为wordpress默认的截取摘要标记是通过空格,因为英文的单词间是存在空格的,而汉字之间没有空格,所以无法通过空格标记截取摘要,只能通过字数截取)

截止到现在,已经实现了首页文字摘要显示的效果了,但你可能发现了一个问题,那就是首页显示摘要了,但内容页也显示摘要了,悲剧!

道理很简单,内容页就是content.php页嘛,你把content.php页的全文代码改成摘要代码了,当然内容页内容也是摘要了,怎么解决呢?很简单,将content.php页另存为其他名称的页面再按上述方法修改,而不要直接修改content.php,比如讲content.php另存为content222.php,然后将content222.php页面按上述方法修改,然后将首页代码<!–?php get_template_part( ‘content’, get_post_format() ); ?–>
<!–?php endwhile; ?–>中的“content”替换成“content222”,即让首页调用content222.php页面,而不是“content.php”页面,这样content.php页面没有改动,文章内容页依然是全文显示。

教程写的很啰嗦,因为我觉得这是个简单的东西,如果这个不会修改,一定就是不太懂代码的人,所以要写的详细点。如果是高手,您见笑了。本博客正是用该方法实现了摘要效果,亲测成功,如果你 的没有成功,可能有的地方没有设置正确,可以给本文留言。 本文链接地址: 怎么把wordpress3.5.1的主题模板TwentyTwelve修改为首页输出摘要详解