WP_QUERY不会检索原始的HTML吗?

时间:2018-07-05 作者:Luke 5 Dev

我有一个名为Services的WordPress页面,其中的内容是自定义HTML(添加在TinyMCE的文本选项卡中)。我想用WP_Query 在启动页上,提取服务内容并将其显示在DIV. 然而,我得到的是纯文本。看起来像是WP_Query 正在解析HTML,然后显示剩下的内容。URL不是公开的,但这里是主题技术支持(ElegantThemes/Vertex)推荐的我的PHP。。。

<section class="home-block et-odd">
<div class="container">

<?php $the_query = new WP_Query( \'page_id=4\' ); ?>
<?php while ($the_query -> have_posts()) : $the_query -> the_post();  ?>
<?php the_excerpt(); ?>
<?php endwhile;?>

</div> <!-- .container -->
</section>

1 个回复
最合适的回答,由SO网友:Frank P. Walentynowicz 整理而成

WP_Query 对象包含FULL 从数据库检索的帖子/页面的内容。没有删除HTML标记。因此,您的问题如下:

看起来WP\\u Query正在解析HTML,然后显示剩下的内容。

不是真的。

如果在代码中使用,the_content() 而不是the_excerpt() 函数,您将看到保留了所有原始HTML标记。

了解摘录是如何生成的很重要。正在显示的内容the_excerpt() 作用代码如下:

echo apply_filters( \'the_excerpt\', get_the_excerpt() );
get_the_excerpt() 函数负责生成摘录的文本。

抄本:

返回文章的摘录。这要么是用户提供的摘录,返回时保持不变,要么是自动生成的按字数计算的精简版完整帖子内容。

自动生成的摘录删除了所有短代码和标记,这意味着它只是一个未格式化的字符串,在任何形式的输出中都看不到任何换行符,因为原始文本中的实际换行符也会被删除。

就你而言,the_excerpt() 函数显示自动生成的摘录,并删除HTML标记。要更改此行为,可以使用“the\\u摘录”过滤器添加HTML格式,或填充页面的Excerpt 元框,包含所需的HTML格式文本。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post