Wordpress中未定义的索引错误

时间:2015-12-11 02:11:13

标签: php foreach

我在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);
}`

1 个答案:

答案 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);
}