WordPress硬编码<! - nextpage - >在php中

时间:2013-07-06 21:48:02

标签: php pagination wordpress

在Wordpress中,如果我们将帖子放在后编辑器的代码版本中,我们可以用<!--nextpage-->分割帖子。这对我有用。但是,如果我想在主题循环文件中对此进行硬编码,那该怎么办?我怎样才能让它发挥作用?

假设我的循环文件中有类似的内容:

<?php the_excerpt(); ?>
<?php the_content(); ?>
<?php wp_link_pages(foobarbaz); ?>

显然,以下解决方案无法运作:

<?php the_excerpt(); ?>
<!--nextpage-->
<?php the_content(); ?>
<?php wp_link_pages(foobarbaz); ?>

我不知道哪里可以找到在代码编辑器中解析<!--nextpage-->时执行的正确php函数。 我能想到的唯一解决方案是在其中创建一个只有<!--nextpage-->的新帖子,并以某种方式尝试在循环文件中对此特定帖子进行硬编码。但必须有更好,更清洁的方式......

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

不确定您要执行的操作,但您可以在“设置” - >“阅读”标签上控制存档页面上显示的帖子数量。

如果你想在个别帖子中分割你的内容,我认为最好的方法是挂钩'the_content'过滤器。我不确定你是否有你想要分割帖子的标准,但如果它是字数并且你不想使用the_excerpt;,你可以编写一个函数(在你的主题的functions.php文件中)就像这样:

add_filter('the_content', 'your_post_split');
function your_post_split($content) {
//do something with the content and insert <!--nextpage--> 
return $content;
}

编写过滤器时,请确保始终返回进入函数的变量。

如果您想使用摘录文本添加帖子,请尝试以下操作:

function your_post_split($content) {
 global $post;
 $content = $post->post_excerpt . $content;
 return $content;
}

从模板中取出<?php the_excerpt; ?>