【问题标题】:Get wordpress formatted post content without including wordpress functions在不包含 wordpress 功能的情况下获取 wordpress 格式的帖子内容
【发布时间】:2015-05-20 08:26:15
【问题描述】:

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

apply_filters('the_content', $content)

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

有没有办法手动“模拟”apply_filters? 除了

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

这似乎很慢?

【问题讨论】:

    标签: php wordpress formatting


    【解决方案1】:

    “便宜”的方法是包含文件wp-includes/formatting.php(可能还有其他文件)并通过所需的过滤器函数运行您的代码,例如wpautop()

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


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

    我不认为它过于“慢”(无论您如何定义它),但如果性能是一个问题,我建议您重新考虑您的架构。

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

    【讨论】:

    • 在我的脚本上的每个请求中,包含整个 wp-load 都需要一秒钟的时间。仅包括formatting.php 就可以了,页面响应确实更快。无论如何,实现预渲染页面也是一个好主意,我会考虑到这一点。
    • 感谢您接受/支持。顺便说一句,如果包含wp-load.php 花费了 长,那就有问题了。也许博客上安装了慢速插件。无论如何,很高兴我能提供帮助。
    • 我不太介意,该网站有很多功能,而且速度有点慢,但不会有问题,因为只有少数人会使用它。重要的是从网站检索数据的移动应用程序速度很快,因为我们希望它成为访问这些数据的简单快速的工具。更清楚地说,它是一种广告列表应用程序,该网站仅用于制作广告。
    猜你喜欢
    • 1970-01-01
    • 2015-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    相关资源
    最近更新 更多