Admin配置屏幕没有菜单
-
16-10-2019 - |
题
我想从管理面板上的某些页面创建一个sub配置,例如:
我以这种方式设置了配置菜单:
add_menu_page( 'E+', 'CRE+', 8, 'cr_e_plus_user_config', 'cr_e_plus_user_config');
add_submenu_page( 'cr_e_plus_user_config', 'E+', 'Configurations', 8, 'cr_e_plus_user_config', 'cr_e_plus_user_config');
从 Configurations
页面,当我单击某些链接时,我需要加载另一个页面。现在,我不希望此新页面在菜单上列出,因为它需要某些参数才能显示。
解决方案
管理页面基本上没有其他内容,而不是一个函数的挂钩,因此在技术上,在不使用菜单的情况下添加自己的页面并不是问题。
我不知道允许您轻松注册自己的页面的API函数,但是WordPress中有一个辅助功能您可以使用: get_plugin_page_hookname()
(无证件功能)。接下来,挂钩需要在所有页面挂钩的全局注册表中注册($GLOBALS['_registered_pages']
),以便在请求页面时额定值。
我将其包装在一些示例代码中,只需将其保存到您的 /wp-content/mu-plugins
文件夹: admin_page_demo.php(wordpress mu-plugin示例)
在那里您可以找到一个功能 register_admin_page()
可以注册您需要的任何回调 admin_menu
钩。那是重要的 添加管理菜单(WordPress法典).
该功能返回新管理页面的URL。您写道,您可能需要添加更多参数,所以我认为这可能很方便。
对于“演示页面”,我对该示例进行了硬编码,URL是: /wp-admin/options-general.php?page=adminpagedemo_demo_page
.
请记住,您需要自行检查该页面的安全性,因为WordPress没有。就像是
current_user_can( ... );
wp_die( __('You do not have sufficient permissions to access this page.') );
可能是一个有用的其他提示。