我想从管理面板上的某个页面创建一个子配置,例如:
我这样设置配置菜单:
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
页面,我需要在单击某个链接时加载另一个页面。现在,我不想在菜单上列出这个新页面,因为在我显示它之前,它需要特定的参数。
最合适的回答,由SO网友:hakre 整理而成
管理页面基本上只会说是一个函数的挂钩,所以从技术上讲,不使用菜单就添加自己的页面不是问题。
我不知道有一个API函数可以让您轻松注册自己的页面,但Wordpress中有一个helper函数,您可以使用它:get_plugin_page_hookname()
(未记录的函数)。接下来,钩子需要在所有页面钩子的全局注册表中注册($GLOBALS[\'_registered_pages\']
) 因此,当请求页面时,它被评为有效。
我已经将其包装在一些示例代码中,只需将其保存到/wp-content/mu-plugins
文件夹:admin_page_demo.php (Wordpress MU-Plugin Example)
在那里你可以找到一个函数register_admin_page()
可以根据admin_menu
钩这是最重要的一点Adding Administration Menus (Wordpress Codex).
函数返回新管理页的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.\') );
可能是一个有用的额外提示。