创建子菜单页面-找不到函数或函数名称无效

时间:2014-01-12 作者:EHerman

我创建了一个带有顶级页面的插件。我在下面创建了一个子菜单。当我在我的网站上运行插件时,一切都正常。但当我在一个单独的网站上测试它时,我得到了一个错误,我不知道为什么。

这是有问题的代码和引发的错误。我一辈子都搞不清楚错误是怎么来的。

function custom_plugin_add_menu_page(){

     add_menu_page( \'My Custom Plugin\', 
                         \'My Custom Plugin\', 
                         \'manage_options\', 
                         \'top_level_parent_page\', 
                         \'top_level_parent_page\',
                         plugins_url( \'/my-custom-plugin/includes/images/menu-icon.png\' )
                         );                           

     add_submenu_page( 
        \'top_level_parent_page\', 
        \'Custom Submenu Page\', 
        \'Custom Submenu Page\',
        \'manage_options\', 
        \'custom_plugin_submenu_page\', 
        \'custom_plugin_submenu_page_callback\' 
    );                  
}
add_action(\'admin_menu\', \'custom_plugin_add_menu_page\');
以及错误:

警告:call\\u user\\u func\\u array()要求参数1为有效回调,在D:\\xampp\\htdocs\\localtestsite\\wp includes\\plugin中找不到函数“custom\\u plugin\\u submenu\\u page\\u callback”,或函数名无效。php在线429

2 个回复
SO网友:MoleIsKing

似乎如果使用类,就必须使用array($this$function));在功能元素中,如下所示。

add_submenu_page( $mainmenu_slug, $submenu_title, $submenu_label, $capability, $submenu_slug , array($this, $submenu_function) );   

SO网友:T.Todua

问题1必须声明函数custom_plugin_submenu_page_callback 你从那里经过

function custom_plugin_submenu_page_callback()
{ ?>
   hellooooo
<?php
}
很明显,您在一个站点上有它(可能在functions.php) 而且你在另一个网站上没有它(或者只是在那里关闭了错误)。

问题2中的参数不正确add_menu_page - 第六个应该是函数名,而不是图标名。你不会在另一个网站上看到错误,因为错误可能会在那里被关闭。

结束

相关推荐

从Functions.php中导入WordPress XML文件

我正在开发一个主题,它有不同的添加内容的方法,因此,Wordpress的默认安装不会显示任何内容。我想知道在主题被激活后,是否可以通过内部函数和/或挂钩自动导入XML文件?User installs theme > User activates theme > Code behind the scenes loads up an XML file and performs a silent import of its contents当前要导入XML文件,您必须为Wordpress