以下是我创建的自定义wordpress管理页面:-
// code located in my custom plugin\'s php file
function my_special_function(){
echo \'<div> Hello World </div>\';
}
function my_menu_page(){
$page_title = "Hello Page Title";
$menu_title = "Hello Menu Title";
$capability = "administrator";
$menu_slug = "do_something";
$function = my_special_function;
add_menu_page($page_title, $menu_title, $capability, $menu_slug, $function);
}
add_action(\'admin_menu\', \'my_menu_page\');
根据
http://codex.wordpress.org/Function_Reference/add_menu_page , 此功能采用“功能”(请参阅角色和功能),用于确定菜单中是否包含页面。连接以处理页面输出的函数必须检查用户是否也具有所需的“能力”。
我当前使用的用户是管理员,但当我尝试访问该页面时
http://localhost:8888/wp-admin/admin.php?page=do_something
我明白了
You do not have sufficient permissions to access this page.
为什么会这样?如何修复此问题?
SO网友:Rutwick Gangurde
这就是您需要的:
function my_special_function(){
?>
<div class=\'wrap\'>
<h2>Hello World</h2>
<!-- ALL THE CUSTOM MARK UP SHOULD BE INSIDE WRAP-->
</div>
<?php
}
function my_menu_page(){
add_menu_page(\'Page title\', \'Menu Title\', \'administrator\', \'page_slug\', \'my_special_function\');
}
add_action(\'admin_menu\', \'my_menu_page\');
试试这个!
SO网友:fischi
尝试使用所需的功能,而不是用户角色。请注意,这是两个不同的项目-角色可以具有功能,但管理员角色不一定包括任何功能,因为它们可以自由分配和删除。
manage_options
这对你来说是一个很好的开始。
function my_special_function(){
?>
<div class=\'wrap\'>
<h2>Hello World</h2>
<!-- ALL THE CUSTOM MARK UP SHOULD BE INSIDE WRAP-->
</div>
<?php
}
function my_menu_page(){
add_menu_page(\'Page title\', \'Menu Title\', \'manage_options\', \'page_slug\', \'my_special_function\');
}
add_action(\'admin_menu\', \'my_menu_page\');