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


Get wordpress formatted post content without including wordpress functions

我正在创建一个脚本,获取内容和元的wordpress帖子的应用程序,做查询直接对数据库,因为它的方式比包括wp功能快。然而,问题是,帖子内容保存到数据库没有格式。我知道我可以使用

apply_filters('the_content', $content)

但是正如我所说的,我想避免使用wp函数,因为它们真的很慢。

是否有任何方法来"模拟"apply_filters手动?除了

,还有更好(更快)的方法来包含wp函数吗?
require('../wp-load.php');

哪个看起来很慢?

"便宜"的方法将包括文件wp-includes/formatting.php(可能还有其他),并通过所需的过滤函数(如wpautop())运行代码。

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


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

我不认为它过于"慢"(不管你怎么定义它),但是如果性能是一个问题,我建议你重新考虑你的架构。

例如,如果你想让一个网站显示WordPress数据库中的内容,不要在每个页面请求上拉并呈现内容。相反,使用缓存解决方案——要么是WordPress已经存在的,要么是服务器级的(例如Varnish),或者你甚至可以实现自己的缓存,通过存储预渲染页面并(半)静态地交付它们。