强大的WordPress、技巧无处不在!这个也是我今天才知道的(当然、这是很简单的)、MORE标签用法:

让WordPress的Post和Page支持MORE标签

当我们在wordpress中使用<!–more–>标签截断文章时,在首页、分类、标签和存档等页面的文章内容都是显示<!–more–>之前的文章,而在文章(Post)和页面(Page)中时,则忽略<!–more–>标签,显示全文。

这当然是合理的,你总不可能让访客在你的最终文章页还瞅着摘要发呆。

但对主题开发者来说,经常会使用一个Page Template来罗列一个符合查询条件的文章列表。比如下面这段代码返回分类ID为3下的所有文章。

<?php query_posts('cat=3'); while(have_posts): the_post();  ?><h2><?php the_title(); ?></h2><?php the_content(); ?><?php endwhile; ?>

但在这份文章列表里面,the_content()函数将始终输出全文,不管你是否在文章中使用了more标签。因为WordPress只知道这是一个Page页面,要显示全文,而不会智能的根据你是否使用了query_posts()或新建了一个WP_Query对象来决定是否支持more标签。

废话说了半天,其实解决方法简单的不行,请看代码:

<?php global $more; $more = false; ?><?php the_content('Continue Reading'); ?><?php $more = true; ?>

说明: 在the_content()函数前声明一个全局变量$more并且设置为flase就可以了。如果你希望在内容显示完成后又回到原来的状态,那在后面再把$more变量设置为true。

目前有2条回应
Comment
Trackback
Loading ....
  • 花七七 回应于2012/12/05 18:19 回复TA

    来看看、~学习啦~

    • Tomas 回应于2012/12/05 18:33 回复TA

      这个其实很简单额、也没啥用,一般模板自带

  • 本篇文章没有Trackback
你目前的身份是游客,请输入昵称和电邮!