抱歉,如果之前有人问过这个问题;我已经找了一段时间了,但找不到任何直接适用的。我正在构建我的第一个插件,并尝试遵循WP best practices.
我当前的插件结构如下所示:
- my-plugin
-- index.php
-- admin (folder
--- sub-menu-page.php
作为我组织的一部分,我正在尝试将我所有的插件页面分开。然而,我似乎无法将插件的子菜单链接指向
sub-menu-page.php
文件这是我的菜单代码:
add_action(\'admin_menu\', \'my_menu_pages\');
function my_menu_pages(){
add_menu_page(\'WISE Admin\', \'WISE Admin\', \'manage_options\', \'wise-menu\', \'my_menu_output\', \'dashicons-tickets\', 2 );
add_submenu_page(\'wise-menu\', \'General Settings\', \'General\', \'manage_options\', \'general-settings\', \'general_settings\' );
add_submenu_page(\'wise-menu\', \'Submenu Page\', \'Submenu Page\', \'manage_options\', \'admin/sub-menu-page\' );
remove_submenu_page(\'wise-menu\', \'wise-menu\');
}
子菜单链接将我带到
/wp-admin/admin/sub-menu-page
这显然不是我想去的地方。
我能就我做错了什么提出一些建议吗?
SO网友:MikeNGarrett
你很接近。
添加第一个子菜单页时,您希望复制初始菜单页。在你的第二个add_submenu_page
您缺少该页的函数回调。从技术上讲,此参数是可选的,但它会更改您的url/wp-admin/sub-menu-page
到/wp-admin/admin.php?page=sub-menu-page
.
试一试:
add_action( \'admin_menu\', \'my_menu_pages\' );
function my_menu_pages() {
add_menu_page( \'WISE Admin\', \'WISE Admin\', \'manage_options\', \'wise-menu\', \'my_menu_output\', \'dashicons-tickets\', 2 );
add_submenu_page( \'wise-menu\', \'General Settings\', \'General\', \'manage_options\', \'wise-menu\', \'my_menu_output\' );
add_submenu_page( \'wise-menu\', \'Submenu Page\', \'Submenu Page\', \'manage_options\', \'sub-menu-page\', \'submenu_settings\' );
}