注意:使用建议的代码更新了代码
我正在wordpress管理员中为插件创建一个菜单和子菜单。主菜单的菜单项工作正常,并转到右侧php文件(第页)。但是子菜单显示菜单的文本,但是当点击它时,它会重定向到404页面,在我的情况下,它会转到主页。我花了几个小时研究代码,看起来我在监督一些事情。代码如下:
class BbtbPlugin{
public function __construct(){
add_action( 'init', array( $this,'bbtb_admin_menu' ));
}
public function bbtb_admin_menu() {
add_menu_page(
'Bricks by the Bay conventions',
'BBTB conventions',
'manage_options',
'bbtb_conventions',
'all_bbtb_conventions',
'dashicons-media-spreadsheet',
11
);
add_submenu_page(
'bbtb_conventions',
'Settings',
'Settings',
'manage_options',
'bbtb_settings',
function () { // anonymous callback function
include "includes/setting_page.php";
}
);
function all_bbtb_conventions() {
include "includes/add_convention.php";
}
}
}
因此,我通过在“添加菜单”页面中将“所有bbtb惯例”替换为“bbtb设置”来检查子菜单的功能是否有效。然后,该函数开始工作。
因此,在“添加”子菜单“页面设置”中一定有我缺少的内容
1条答案
按热度按时间vkc1a9a21#
这可能是因为您在回调函数的名称中使用了与slug相同的名称,请尝试更改它。
您还可以执行以下操作:
甚至可以使用匿名函数省略回调函数。
也不需要添加条件来验证manage_选项的容量,因为对于某些内容,容量是在中的参数3中设置的
add_menu_page()
在中的参数4中add_submenu_page()
我希望我帮助过你,问候你!