繁体   English   中英

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

[英]Where should I store global data for my multi-site WordPress plugin?

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

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

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

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

谢谢你的建议。

如您所知,开发单个WordPress插件与多站点插件之间的主要区别在于编写数据。 根据这篇文章,因为插件通常在一个数据库上完全统治,并且在某些情况下插件本地页面文件必须确保只调用$ 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"));

有关详细信息,请参阅文章

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM