我在Wordpress中有一个页面,其中包含一个包含5个段落的文本。每个段落用<!--more-->
分隔。
现在我需要检索第一个显示在我的front_page.php上的第一个段落,每个段落位于不同的<section>
我现在使用的是以下内容:
在functions.php中
function split_content() {
global $more;
$more = true;
$content = preg_split('/<span id\=\"(more\-\d+)"><\/span>/', get_the_content('Read more...'), 0);
for($c = 0, $csize = count($content); $c < $csize; $c++) {
$content[$c] = apply_filters('the_content', $content[$c]);
}
return $content;
}
在front_page.php
中 <div>
<?php
$my_query = new WP_Query( 'page_id=26' );
if ($my_query->have_posts()):$my_query->the_post();
$content = split_content();
?>
<?php echo array_shift($content);?>
</div>
<div>
<?php echo array_shift($content);?>
<?php endif; ?>
</p>
</div>
我得到第一个div的正确输出,第二个div得到文本的其余部分(全文 - 第一段)
任何人都可以提出一些解释,我对此很陌生。
答案 0 :(得分:0)
如果我理解你的问题,那么有一个更简单的解决方案,你可以在帖子中的文本编辑器中使用read more函数,并在你的循环中显示the_content。这是一个参考。 The Content function
所以忘记split_content函数,在你的查询中,字面上只使用函数the_content,然后在帖子中,在第二段之后设置你的read more seperator。