在Wordpress帖子中输出第一段

时间:2018-09-28 05:07:23

标签: php wordpress

我只想将我文章的第一段放在index.php中

在我的functions.php中

<?php

{
global $post;

$output = get_the_content();

$wanted_number_of_paragraph = 1;

$tmp = explode ('</p>', $output);
for ($i = 0; $i < $wanted_number_of_paragraph; ++$i) {
if (isset($tmp[$i]) && $tmp[$i] != '') {
   $tmp_to_add[$i] = $tmp[$i];
}
}
$output = implode('</p>', $tmp_to_add) . '</p>';

echo $output;

}
?>

然后在我的index.php中

<?php wpden_excerpt(); ?>

但是,它会发布整个帖子(包括图片),而不仅仅是第一段。

1 个答案:

答案 0 :(得分:1)

我建议您为此目的使用Wordpress get_extended()函数。在您的帖子中,您使用"more"标签分割了内容,在模板内部之后,您可以看到类似的内容:

global $post;
// gets the content of your post as an array of 2 parts
$content_parts = get_extended( $post->post_content ); 

,然后您可以在"more"标记之前回显部分,例如:

<?=$content_parts['main'];?>

"more"标记之后的部分,您可以像这样回显

<?=$content_parts['extended'];?>

此外,如果您选择此选项,我建议您检查wpautop(),因为您可能需要将这两个部分包装在一起,例如:

<?=wpautop($content_parts['extended']);?>