如何为网络中的特定站点更新_SITE_OPTION?

时间:2020-06-03 作者:RobinAlexander

我想使用添加或更新站点选项(如屏幕截图中所示)update_site_option, 但我不知道(1)如何根据id选择正确的站点?我在哪里可以找到选项阵列的可用(2)段塞?

site options

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

update_site_option() 更新为整个网络设置的选项。如果您试图更新特定站点的选项,例如blogname, 你需要这样做update_option() 相反

如果您不确定某个站点的ID,可以使用该站点的slug获取其详细信息get_blog_details().

例如,如果我想更改admin_emailsome_other_option 示例中的站点选项。com/站点3:

$site_object = get_blog_details( \'site-3\' );
if ( ! empty( $site_object ) ) {
    switch_to_blog( $site_object->blog_id );
    update_option( \'admin_email\', \'[email protected]\' );
    update_option( \'some_other_option\', \'Some Other Option Value\' );
    restore_current_blog();
}
之所以会产生混淆,是因为WordPress Multisite最初开发时,术语中提到了site 属于blogs; 但后来,它被更新为network 属于sites. 原始术语仍然存在于函数名称中,如update_site_option()switch_to_blog().

参考文献update_site_option()
  • update_option()
  • get_blog_details()
  • switch_to_blog()
  • restore_current_blog()
  • 相关推荐

    wp_options is GB in size

    我怎样才能找到占用这么大空间的选项或插件?这不是暂时的,因为删除所有数据后,它仍然是13GB。SELECT option_name, option_value FROM hihgv_options WHERE autoload = \'yes\'在0.141秒内返回833行SELECT SUM(LENGTH(option_value)) as autoload_size FROM hihgv_options WHERE autoload=\'yes\';返回670540当我将所有内容从我的自定义函数插件移