wordpress主题如何实现分别输出全文和摘要

本站目前的显示设置为,在首页和单文章页显示全文;在其他页面,比如搜索结果,存档页面,或者 Tag 页面(本站目前没有启用 Tag 功能,不过如果启用的话,Tag 页面也显示摘要)等,都显示摘要。因为对于查看这些页面的网友,他们的确需要快速查找哪些文章是自己需要的,因此,显示摘要能节省网友的时间。

对于一般的 WordPress 主题(模板)而言,要设置在不同页面显示摘要或全文,只要打开相应的文件,进行编辑即可。比如,单篇文章页面是由 single.php 控制,搜索结果页面是由 search.php 控制,存档页面是由 archive.php 控制,Tag 页面是由 tag.php 控制,所有没有对应文件的页面都由 index.php 控制。

如果你想要在某个页面中显示全文,则使用函数:

  1. <?php the_content(‘Continue Reading &raquo;’); ?>

如果你想要在某个页面中显示摘要,则使用函数:

  1. <?php the_excerpt(); ?>

这样,你就可以根据自己的需要设置在任意页面显示全文还是摘要了。

不过,对于 yeahlang 网友而言,他的博客使用的 WordPress 的 K2 主题。其实 K2 是个模板,你可以使用 K2 来订做各种不同的 WordPress 主题样式。当然,那不是本文讨论的要点。问题在于,K2 模板(主题)的不同页面,包括 index.php,single.php,search.php,archive.php 等都是通过间接调用 theloop.php 文件实现的。代码如下:

  1. <?php the_content(sprintf(__("Continue reading ‘%s’", ‘k2_domain’), the_title(”, ”, false))); ?>

这样,要想控制不同的页面,需要在这里稍微动点代码。仍然按照本站的思路,即在首页和独立文章页显示全文,其他地方显示摘要,我们只需要将原来的代码修改为如下:

  1. <?php if ( is_single() or is_home() ){
  2. the_content(sprintf(__("Continue reading ‘%s’", ‘k2_domain’), the_title(”, ”, false)));
  3. } else {
  4. the_excerpt();
  5. } ?>

这里,主要是增加了一个判断语句,如果是独立文章页或首页,则显示全文;否则,显示摘要。

当然,如果你希望在其他页面也显示全文,则可以自己对上述代码进行修改。常用的判断函数有:首页 is_home,独立文章页 is_single,搜索结果页 is_search,存档文章页 is_archive(还可以细分为按作者存档 is_author,按分类存档 is_category,按年存档 is_year,按月存档 is_month,按日存档 is_day 等),Tage 文章页 is_tag 等等。