未定义的索引:主题选项模板代码段调试错误

时间:2011-11-18 作者:pixelngrain

您好,我试图找到解决方案,但找不到我要找的。。我得到的错误和下面的一样。。

注意:未定义索引:C:\\xampp\\htdocs\\site\\wp content\\themes\\mytheme\\admin\\admin面板中的页面。php在线745

745行的代码是

function mytheme_add_init() {

$file_dir=get_bloginfo(\'template_directory\');
wp_enqueue_style("functions", $file_dir."/admin/functions.css", false, "1.0", "all");
wp_enqueue_script("rm_script", $file_dir."/admin/rm_script.js", false, "1.0");

}
我不知道我是否使用了弃用的代码段。

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

查看您的实际来源,相关部分(带有行号)如下:

745 if ( $_GET[\'page\'] == basename(__FILE__) ) {
746 
747     if ( \'save\' == $_REQUEST[\'action\'] ) {
748
749         foreach ($options as $value) {
750             update_option( $value[\'id\'], $_REQUEST[ $value[\'id\'] ] ); }
751
752         foreach ($options as $value) {
753             if( isset( $_REQUEST[ $value[\'id\'] ] ) ) { update_option( $value[\'id\'], $_REQUEST[ $value[\'id\'] ]  ); } else { delete_option( $value[\'id\'] ); } }
754
755     header("Location: admin.php?page=admin-panel.php&saved=true");
756     die;
757
758 } 
您正在检查全局$_GET 变量,但在本例中,它未设置。您需要运行isset() 首先检查。

745 if ( isset( $_GET[\'page\'] ) && $_GET[\'page\'] == basename(__FILE__) ) {
这将首先检查我们是否在请求中传递了“page”的值。如果没有,那么我们继续前进。如果我们通过了一个,那么我们将把它与basename(__FILE__) 正常情况下。

您应该使用相同的isset() 图案与$_POST$_REQUEST 变量,否则您将收到相同的通知。

结束

相关推荐

How do you debug plugins?

我对插件创作还很陌生,调试也很困难。我用了很多echo,它又脏又丑。我确信有更好的方法可以做到这一点,也许是一个带有调试器的IDE,我可以在其中运行整个站点,包括插件?