我在Wordpress中有这个代码,$option_name
的索引错误未定义。选项正确保存,但我收到错误。
我用isset
包裹它,所以我不理解这个问题。
if (isset ($_POST['update_theme_options'])) {
$option_name_array = array_keys($slider_options);
foreach ($option_name_array as $option_name):
if(isset($slider_options[$option_name])):
$slider_options[$option_name] = $_POST[$option_name];
endif;
endforeach;
update_option('slider_settings', $slider_options);
}`
答案 0 :(得分:1)
您正在使用isset
测试错误的数组。 $slider_options[$option_name]
始终存在,因为$option_name
来自array_keys($slider_options)
。我想你的意思是:
if (isset($_POST[$option_name])):
完整代码应为:
if (isset ($_POST['update_theme_options'])) {
$option_name_array = array_keys($slider_options);
foreach ($option_name_array as $option_name):
if (isset($_POST[$option_name])):
$slider_options[$option_name] = $_POST[$option_name];
endif;
endforeach;
update_option('slider_settings', $slider_options);
}