重命名除超级管理员之外的所有菜单项

时间:2013-08-14 作者:Ghinnersmee

我可以重命名wp admin菜单项,但如何为除超级管理员之外的所有用户激活它?

add_filter(\'gettext\', \'rename_admin_menu_items\');
add_filter(\'ngettext\', \'rename_admin_menu_items\');
function rename_admin_menu_items( $menu ) {
$menu = str_ireplace( \'Dashboard\', \'Home\', $menu );
return $menu;
}

2 个回复
最合适的回答,由SO网友:Kumar 整理而成

/**
 * Changes Label of Admin Menu items
 * @global array $menu
 * @global array $submenu
*/
function change_post_menu_label() {
   global $menu;
   global $submenu;
   $menu[2][0] = \'Home\'; 
   $menu[5][0] = \'Articles\';
   $submenu[\'edit.php\'][5][0] = "All Articles";
   //    var_dump($submenu);
   //    var_dump($menu);
    echo \'\';
  }
  if(!is_super_admin()){
    add_action( \'admin_menu\', \'change_post_menu_label\' );
  }
可以打印阵列

echo "<pre>";
print_r($menu);
echo "</pre>"; //remove this code after, it is just used to check the index of element in Menu to rename it.
并查看元素索引以更改要重命名的任何项目的名称。就像上面的功能一样,我将菜单中的“帖子”重命名为“文章”。

要重命名菜单项的子项,请使用

$submenu 
阵列。用于将仪表板重命名为“主页”

  $menu[2][0] = \'Home\'; 
将此行添加到上一个函数中,确认仪表板的$菜单数组中的索引“2”。

SO网友:Alex Dumitru

您需要检查用户角色。设置如下条件:

if(current_user_can("manage_network")) add_action("rename_admin_menu_items","your-hook");
参考文献:User roles

结束