更新主题后主题选项中的未定义变量错误

时间:2014-06-12 作者:pzstar

我构建了一个主题。。现在我已经更新了主题,我的主题由主题选项面板中的两个新字段组成

<input id="welcome_post_char" type="text" name="abc_options[welcome_post_char]" value="<?php echo esc_attr($settings[\'welcome_post_char\'],\'abc\'); ?>">
但当我在数据库表中使用旧的abc\\u选项安装此主题时,出现了一个错误

未定义的索引:welcome\\u post\\u char in D:\\wamp\\www\\wptest2\\wp content\\themes\\accesspress lite\\inc\\admin panel\\theme options。php在线394

如果我这样做了

<input id="welcome_post_char" type="text" name="abc_options[welcome_post_char]" value="<?php if (isset($settings[\'welcome_post_char\'])){echo esc_attr($settings[\'welcome_post_char\'],\'abc\')}; ?>">
它不会出错。。但我在其他主题中没有看到这种方法。。那么,谁能告诉我最好的方法是什么

1 个回复
SO网友:Bhaskar K C

@pzstar检查变量是否赋值是一种很好的方法。如果数组中的变量或索引未声明/分配,则可能会出现此类错误。我建议您使用isset()。

<input id="welcome_post_char" type="text" name="abc_options[welcome_post_char]" value="<?php echo (isset($settings[\'welcome_post_char\']))? esc_attr($settings[\'welcome_post_char\'],\'abc\'): \'\'}; ?>">

结束

相关推荐

Some ways to debug code

我有一个BuddyPress安装,有许多自定义代码。在我将数据库移动到共享主机之前,我已经为生产做好了一切准备。问题是,在奇怪的地方,所有的活动wp_bp_activity 已删除。我并不是说这个问题的出现是因为我移动了数据库,但我无法用我的原始安装重现这个错误(但当我在本地计算机上完成托管数据库的新安装时,也遇到了同样的问题)我的详细信息:1) 我不相信这个DELETE 使用buddypress本机代码触发,因为所有内容都保持原样wp_bp_activity_meta.2) 我无法复制这个bug,也无法