获取wordpress格式的帖子内容,而不包括wordpress功能

时间:2015-05-20 08:26:15

标签: php wordpress formatting

我正在创建一个脚本来获取应用的wordpress帖子的内容和元素,直接在数据库上进行查询,因为它比包含wp函数更快。但问题是帖子内容没有格式化保存到数据库中。我知道我可以使用

获得它
apply_filters('the_content', $content)

但正如我所说,我想避免使用wp函数,因为它们非常慢。

有没有办法手动“模拟”apply_filters? 是否有更好(更快)的方法来包含除

之外的wp函数
require('../wp-load.php');

这似乎很慢?

1 个答案:

答案 0 :(得分:1)

“廉价”方法包括文件wp-includes/formatting.php(可能还有其他文件),并通过所需的过滤功能运行代码,例如wpautop()

但是,这并不能保证内容的格式与WordPress博客类似 - 特别是因为它不会应用插件所做的修改。此外,如果新的WordPress版本引入了新的或不同的过滤器,您的代码将无法在没有修改的情况下使用它们。

我的确建议包括wp-load.php并使用WP过滤器API。

我不认为它过于“慢”(但你可以定义它),但如果性能问题,我建议重新考虑你的架构。

例如,如果您希望网站显示WordPress数据库中的内容,请不要在每个页面请求上提取和呈现内容。相反,使用缓存解决方案 - 可以是WordPress已存在的解决方案之一,也可以是服务器级别的缓存解决方案(例如Varnish),或者您甚至可以通过存储预渲染页面并交付(半)来实现自己的缓存静态。