我在函数中编写了一段代码。php文件,如果用户无法激活插件,只需删除菜单页。按预期工作;但是,只有当登录用户是管理员时,才会在管理区域显示PHP错误。
下面是代码片段:
<?php
/************ Remove admin menu items from anyone who isn\'t an admin ************/
if (!current_user_can(\'activate_plugins\') ) {
function my_remove_menu_pages() {
remove_menu_page(\'link-manager.php\');
remove_menu_page(\'tools.php\');
remove_menu_page(\'edit-comments.php\');
}
};
add_action( \'admin_menu\', \'my_remove_menu_pages\' );
?>
错误如下:Warning: call_user_func_array() expects parameter 1 to be a valid callback, function \'my_remove_menu_pages\' not found or invalid function name in /var/www/vhosts/mydomain.com/httpdocs/wp-includes/plugin.php on line 406
我尝试过用几种不同的方式重写这个片段,每次都是一样的。按预期工作,删除管理员以下的管理员菜单页,但以管理员身份登录时,WP后端会出现相同的错误。对此有何建议或想法?