我想从管理面板上的某些页面创建一个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.') );

可能是一个有用的其他提示。

许可以下: CC-BY-SA归因
scroll top