Wordpress主题开发:获取未定义的索引错误

时间:2010-07-14 19:07:21

标签: wordpress wordpress-theming undefined-index

你好我是一个wordpress主题开发者。我创建了一个在WP_DEBUG = False中工作正常的主题,但在设置WP_DEBUG = True时获取未定义的索引错误

我的主题有一个选项页面,每当我点击保存时我都会收到这些错误:

Notice: Undefined index: ang_temp in C:\xampp\htdocs\wordpress\wp-content\themes\Angelia\functions.php  on line 147

Notice: Undefined index: ang_breadcrumbs in C:\xampp\htdocs\wordpress\wp-content\themes\Angelia\functions.php on line 147

Notice: Undefined index: ang_hide_social in C:\xampp\htdocs\wordpress\wp-content\themes\Angelia\functions.php on line 147

Notice: Undefined index: ang_hide_tw in C:\xampp\htdocs\wordpress\wp-content\themes\Angelia\functions.php on line 147

Notice: Undefined index: ang_hide_fb in C:\xampp\htdocs\wordpress\wp-content\themes\Angelia\functions.php on line 147

Notice: Undefined index: ang_hide_ms in C:\xampp\htdocs\wordpress\wp-content\themes\Angelia\functions.php on line 147

Notice: Undefined index: ang_hide_rss in C:\xampp\htdocs\wordpress\wp-content\themes\Angelia\functions.php on line 147

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\wordpress\wp-content\themes\Angelia\functions.php:147) in C:\xampp\htdocs\wordpress\wp-content\themes\Angelia\functions.php on line 156

这是我的主题functions.php 我不知道我做错了什么。我对php的知识非常少。希望有PHP知识或wordpress主题开发知识的人可以提供帮助。

1 个答案:

答案 0 :(得分:2)

146. foreach ($options as $value) {
147.   update_option( $value['id'], $_REQUEST[ $value['id'] ] ); }

产生此错误的代码(上图)不检查$_REQUEST[ $value['id'] ]是否存在。您收到的错误表明它没有(您只会在启用完整错误检查的情况下获得此通知)。代码的其他部分 在使用之前检查这个变量是否存在(所以它们没问题),并建议你在这里做同样的事情。

你说你的主题在调试关闭时工作正常,所以这表明你只需要在使用它之前检查这个变量是否存在。像(替换上面两行)的东西:

foreach ($options as $value) {
  if (isset($_REQUEST[ $value['id'] ])) {
    update_option( $value['id'], $_REQUEST[ $value['id'] ] );
  }
}

然而,虽然这应该可以防止你的“错误”(它们只是通知),但我对wordpress主题不熟悉,所以不能肯定这是否是预期的行为或是否存在是潜在的东西。