我正在创建一个脚本,获取内容和元的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),或者你甚至可以实现自己的缓存,通过存储预渲染页面并(半)静态地交付它们。