我只想将我文章的第一段放在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(); ?>
但是,它会发布整个帖子(包括图片),而不仅仅是第一段。
答案 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']);?>