多站点中Get_Option与Get_Site_Option行为的差异

时间:2014-07-24 作者:Bob Jones

我正在将一组站点转换为多站点,我对get\\u选项和get\\u site\\u选项之间的行为差异感到困惑。

get\\u site\\u选项实际上意味着“get\\u network\\u wide\\u选项”,get\\u选项意味着“get\\u option\\u for\\u this\\u site”,更新版本也是如此。

有鉴于此,如果插件希望对每个站点进行离散设置,则需要使用get\\u选项和update\\u选项。另一方面,如果希望选项值在所有站点上保持不变,则使用get\\u site\\u选项版本。

我对这一点的理解正确吗?

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

get_site_option() 是关于整个网络的数据。

这种恼怒来自混合的词汇:什么是site 一次是network 现在,什么是blog once现在是网络中的一个站点。

wp_get_sites() 例如,在版本3.7中,它获取网络中的站点,而不是安装中的所有网络。所以asite 在里面wp_get_sites()site 在里面get_site_option().

对于应在单个站点安装中使用的插件or 仅作为网络插件,您始终可以使用get_site_option(), 因为在单个站点上get_option().

一个重要的区别是:每个请求都会自动加载普通选项,因此您将使用get_option(). 站点选项不会自动加载,只有一些核心选项。看见/wp-includes/option.php wp_load_core_site_options().

要存储所有网络中所有站点的信息,必须使用自定义表或在当前安装中选择一个网络。

结束

相关推荐

WordPress不考虑角色的Add_Options_Page()函数

我是WordPress插件开发的新手,我一直在想为什么WordPress的功能add_options_page() 不接受角色。这是我的代码,不起作用add_action(\'admin_menu\', \'ct_admin_settings_page\'); function ct_admin_settings_page() { add_options_page( \'CT Settings\', \'CT Settings