我应该在哪里存储我的多站点WordPress插件的全局数据?

时间:2011-10-18 17:30:33

标签: php plugins wordpress-plugin wordpress

我为WordPress编写了一个插件,它有一些用户可配置的设置,使用WordPress的建议方法存储。我知道它们保存在wp_options表中,但是它被WordPress选项API抽象出来。

现在,我正在尝试添加可在多站点安装的“网络管理员”部分中配置的设置的“全局覆盖”。我找到了合适的钩子来设计我的设置页面,但是我找不到有关保存数据的位置的任何信息。

如果我使用普通选项API保存它,则会为每个站点单独保存设置。我正在寻找一个在全球范围内为所有站点保存它们的地方,因此该插件可以首先查看设置是否已被服务器管理员全局覆盖。

我可以编写一些代码直接写入其中一个站点的wp_options表(例如站点#1),甚至可以创建自己的表。我知道如何做所有这些事情,但如果有一种编写多站点插件的首选方法,我不想这样做。

感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

如您所知,开发单个WordPress插件与多站点插件之间的主要区别在于编写数据。根据{{​​3}},因为插件通常在一个数据库上完全统治,在某些情况下插件本地页面文件必须确保只调用$ wpdb全局对象而不是对表的硬编码引用。

例如,如果需要在posts表上执行SQL命令,则不要使用wp_posts作为表名$post_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM wp_posts"));

使用此

$post_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->posts"));

有关详细信息,请参阅this article