【发布时间】:2021-01-23 05:07:02
【问题描述】:
我正在使用 wp 的 add_submenu_page 函数在父 men 中添加子菜单,但在访问该子菜单时出现此错误:
抱歉,您无权访问此页面。
我以管理员身份登录,刷新永久链接并注销,然后登录,但没有任何变化。
我的代码:
class SPSetup {
public function reg_func() {
add_action( 'admin_menu', array( $this, 'sp_menu', ) );
}
public function sp_menu() {
add_submenu_page(
'montheme_options', 'SP Dashboard', 'SP Dashboard',
'manage_options', 'sp-control',
array( $this, 'callback' )
);
}
}
if ( class_exists( 'SPSetup ' ) ) {
$SP= new SPSetup ();
$SP->reg_func();
}
【问题讨论】:
-
所需的能力是
manage_options。您以谁的身份登录并使用什么角色? codex.wordpress.org/Roles_and_Capabilities -
@jaswrks 我以管理员身份登录,可以使用仪表板设置、更改主题以及管理员所做的所有事情。不是这样的。
-
通常是因为 URL 中缺少子菜单的 slug。页面 URL 是什么样的?
-
@AndrewSchultz 我将 slug(在回调函数之前)从 sp-control 更改为 sp_control,现在我收到 404 错误。我的网址是 localhost/wp-admin/sp_control
-
这看起来完全不正确。它应该看起来像这样取决于添加菜单的位置,这是用于设置菜单 /wp-admin/options-general.php?page=my-custom-options
标签: wordpress