我正在使用过滤器修改插件的输出,并且$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的完整内容中获取摘录?
非常感谢。
最合适的回答,由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(\']]>\', \']]>\', $text);
$excerpt_length = apply_filters( \'excerpt_length\', 55 );
$excerpt_more = apply_filters( \'excerpt_more\', \' \' . \'[…]\' );
$text = wp_trim_words( $text, $excerpt_length, $excerpt_more );
echo $text;