将POST重命名为其他名称,如果EDIT_POSTS为FALSE则中断仪表板

时间:2015-07-27 作者:Johan Dahl

我已经用以下代码将“Posts”的名称更改为其他名称:

// Change menu labels
function xxx_admin_menus() {
    global $menu;
    global $submenu;

    $menu[5][0] = \'Nyheter\'; // Change Posts to Nyheter
    $submenu[\'edit.php\'][5][0] = \'Alla nyheter\';
    $submenu[\'edit.php\'][10][0] = \'Ny nyhet\';
}
add_action( \'admin_menu\', \'xxx_admin_menus\' );
这是可行的。但是,如果登录的用户没有edit\\u posts功能,则仪表板get会被错误消息破坏。

有没有更好的方法来更改菜单项名称而不发生这种情况?

1 个回复
SO网友:Nicolai Grossherr

It can not work for user roles that don\'t see and don\'t have access to the menu section. It just is not there - for them -, so you can\'t address it, hence the errors you are getting. Just add a check:

if( current_user_can( \'edit_posts\' ) ) { 
  //code 
}
结束

相关推荐