3

我正在开发一个模板,我目前正在尝试找到一种解决方案或方法来有效地向另一个管理员用户隐藏位于外观中的主题选项?

我不想剥夺我的共同管理员的“管理员权限”并将他更改为较低级别,但是我正在寻找一种可能性来向他隐藏这个元素,以便他无法更改主题选项/设置。

一些帮助将不胜感激。

非常感谢,帕特里克

4

1 回答 1

8

您可以在检查特定用户 ID 的函数中使用内置的 Wordpress 函数 remove_submenu_page。您可以将其连接到 admin_head。

<?php

function hide_menu() {
 global $current_user;
 $user_id = get_current_user_id();
 // echo "user:".$user_id;   // Use this to find your user id quickly

    if($user_id != '1') {

        // To remove the whole Appearance admin menu you would use;
        remove_menu_page( 'themes.php' );

        // To remove the theme editor and theme options submenus from
        // the Appearance admin menu, as well as the main 'Themes'
        // submenu you would use 

        remove_submenu_page( 'themes.php', 'themes.php' );
        remove_submenu_page( 'themes.php', 'theme-editor.php' );
        remove_submenu_page( 'themes.php', 'theme_options' );

    }
}

add_action('admin_head', 'hide_menu');
?>

但是,应该注意(根据评论),使用它只会隐藏菜单项,并不会完全禁用它,并且可以直接从浏览器访问。如果您确实必须将此其他人保留为管理员而不是具有较低权限的用户,并且您必须确保他们根本无法访问主题选项,那么您应该考虑使用插件来创建新的用户访问级别自定义功能(我说使用插件,因为我认为自己编写代码没有任何意义,你只是在重新发明轮子)。

于 2012-08-20T09:41:59.073 回答