从$POST->POST_CONTENT获取摘录

时间:2017-05-26 作者:LBF

我正在使用过滤器修改插件的输出,并且$post变量对我可用,因此我可以这样显示帖子内容:

<h3><?php echo $post->post_title; ?></h3>
<?php echo apply_filters( \'the_excerpt\', $post->post_excerpt ); ?>
但是,只有在摘录字段中输入了内容时,上述内容才会显示摘录。它不会像您能够使用“the\\u摘录”或“get\\u the\\u摘录”那样显示内容的截断版本。我也尝试过:

<?php echo apply_filters( \'the_excerpt\', $post->post_content ); ?>
但这只是文章的全部内容。

我试过这个:

<?php echo apply_filters(\'the_excerpt\', get_post_field(\'post_excerpt\', $post-ID)); ?>
但这并没有回报。

当我无法使用\\u摘录或获取\\u摘录时,有没有办法从$post的完整内容中获取摘录?

非常感谢。

1 个回复
最合适的回答,由SO网友:Fayaz 整理而成

在中时the loop, 这将产生摘录自$post->post_content 直接:

<?php echo wp_trim_excerpt(); ?>
阅读更多信息HERE.

替代解决方案:

If you are not in the loop, 然后,您可以使用与wp_trim_excerpt 功能:

$text = strip_shortcodes( $post->post_content );
$text = apply_filters( \'the_content\', $text );
$text = str_replace(\']]>\', \']]&gt;\', $text);
$excerpt_length = apply_filters( \'excerpt_length\', 55 );
$excerpt_more = apply_filters( \'excerpt_more\', \' \' . \'[&hellip;]\' );
$text = wp_trim_words( $text, $excerpt_length, $excerpt_more );
echo $text;

结束

相关推荐

get_post_fields as an excerpt

我有一个奇怪的问题,我已经建立了我的网站和我的循环等。但在我的侧边栏上,我想添加一种随机的帖子显示,但我不想显示整个帖子,我在实现这一点上遇到了一些困难,所以如果你有任何其他方法想要共享,请让我知道:)我现在想做的是缩短显示的内容,我知道你可以用excerpt() 但是如果你看看我必须要做的方法,你就会明白我的意思,因为我在用典型的方法做这件事时遇到了问题。我的索引:if(have_posts()){ while(have_posts()):the_post();