警告:正在创建默认对象...更改自定义面板时

时间:2014-09-10 作者:Jody Heavener

我试图通过以下操作将我的主题的[唯一]小部件区域移到WP 4.0的嵌套“小部件”面板之外:

$footer_widgets_section = $wp_customize->get_section( \'sidebar-widgets-footer_widgets\' );
$footer_widgets_section->panel = \'\';
关键是将面板重置为空,而不是widgets. 然而,我得到了一个PHP警告:Warning: Creating default object from empty value in ... (以上代码的第二行)。

有人知道我怎么解决这个问题吗?

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

结果是$wp_customize->get_section( \'sidebar-widgets-footer_widgets\' ) 正在返回一个数组,虽然print_r() 让它看起来像是一个物体。

无论如何简单修复:将其投射到对象。

$footer_widgets_section = (object) $wp_customize->get_section( \'sidebar-widgets-footer_widgets\' );
$footer_widgets_section->panel = \'\';

结束

相关推荐

Multisite and plugins options

我需要更多关于get_site_option(), update_site_option() 和add_site_option().在codex中,他们说它与单次安装相同,只是在多站点中,它返回网络范围的选项。好吧,但我对这一点感到困惑:这是否意味着一旦设置了网络范围选项,所有站点的选项都是相同的?还是每个站点都会覆盖它?我的意思是如果我这样做: update_site_option(\'option_group\', \'default_options());// default_options() r