访问WordPress数据库的方法列表?

时间:2014-11-02 作者:Blastercloud

我正试图全面了解WordPress如何处理数据库。我已经阅读了文档,但我对所有可用的不同方法感到困惑。到目前为止,我的理解是(按数据库的抽象级别分层):

=========================

“WP\\U API”(用于REST/HTTP数据访问)

=========================

“获取/添加/更新/删除”功能(例如,get\\u post\\u meta())

=========================

“WP\\u Query”类(无需写入SQL即可访问数据)

=========================

“$wpdb”对象(通过写入直接SQL访问数据)

=========================

“MySQL”数据库(持久性存储)

此顺序是否正确?我是否遗漏了什么,还有什么?在我看来,任何直接SQL查询都可以使用$wpdb执行。然后,在$wpdb之上有一个抽象的WP\\U查询,用于不想编写SQL的人。然后,在WP\\u查询之上还有另一个抽象,供希望使用简单函数的人使用。最后,还有一个新的WP-restapi,它可以做到这一切和更多。

我可以用$wpdb(或WP\\u API)来处理所有的事情,不是吗?为什么要麻烦使用WP\\u查询或get/add/update/delete函数?这难道不是增加了更多不必要的膨胀/复杂性吗?

1 个回复
最合适的回答,由SO网友:Milo 整理而成

有一些重叠,但每一个都不是前一个的抽象,并且肯定有一些事情是您不想在API之外做的。事实上,大多数事情!

WP_Query 用于检索帖子和页面,它不会更新任何内容,也不会获取非帖子或页面的数据。获取帖子和页面的高级API函数使用WP_Query 在幕后,WordPress有许多其他类型的数据(post meta、分类法、用户、用户meta),这些数据WP_Query 不直接处理。

您不能使用$wpdb 直接用于大多数事情,因为你大部分都会弄坏东西。如果你曾与WordPress合作过,你可能听说过Hooks, Actions, and Filters. 查询数据库直接绕过整个系统,因此在特定事件发生时对查询、获取的数据、缓存或要执行的操作的任何修改都将中断。

结束