我正在尝试在静态主页上显示某个类别的帖子。
我觉得一切正常,只有一个例外。
我希望帖子包含标准的继续阅读(<!--more-->
)链接,但我似乎无法让它在我的主页上工作,而是显示所有帖子的内容。
这是我用来在我的主页上显示一篇文章中的一个帖子的代码:
<?php $recent = new WP_Query("cat=4&showposts=1"); while($recent->have_posts()) : $recent->the_post();?>
<h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<?php the_content( __( 'Continue reading →')); ?>
<?php endwhile; ?>
如何使<!--more-->
标记与上述代码一起正常使用?
答案 0 :(得分:4)
<!--more-->
快速标签通常不适用于主页以外的任何内容。请尝试按照“如何在页面中阅读更多内容”中的建议here进行操作,例如:
<?php
global $more;
$more = 0;
?>
//The code must be inserted ahead of the call to the content
然后按原样继续:
<?php $recent = new WP_Query("cat=4&showposts=1"); while($recent->have_posts()) : $recent->the_post();?>
<h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<?php the_content( __( 'Continue reading →')); ?>
<?php endwhile; ?>
在每个the_content()调用之前,您需要将$ more设置为0; 每当它到达循环时它就会重置。
我认为discussion topic referenced from that Codex entry谈到了你正在解决的问题。
答案 1 :(得分:1)
我可以在这里找到一些信息:http://codex.wordpress.org/Function_Reference/the_content
找到这些似乎可以解决问题的方法:
global $more; // Declare global $more (before the loop).
$more = 0; // Set (inside the loop) to display content above the more tag.
the_content("Read More");
在我的代码中添加了信息,一切正常!当更多标签添加到帖子时,在“阅读更多”链接中添加。
这是我的最终代码:
<?php $recent = new WP_Query("cat=4&showposts=1"); while($recent->have_posts()) : $recent->the_post();?>
<h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<?php global $more;
$more = 0;
the_content("Read More");
?>