简体   繁体   English

如何隐藏和禁用 Wordpress 管理菜单项

[英]How to hide and disable Wordpress admin menu items

I have two Wordpress Administrator accounts but I need to hide certain admin menu items for one admin.我有两个 Wordpress 管理员帐户,但我需要为一个管理员隐藏某些管理菜单项。 I've out found how to do this but how can I disable directly accessing the page by url?我已经找到了如何执行此操作,但如何禁止通过 url 直接访问该页面? Something like this Advanced Access Manger像这样的高级访问管理器

So far I have..到目前为止我有..

function hide_menu() {

    $user = wp_get_current_user();
    if($user && isset($user->user_login) && 'admin2' == $user->user_login) {
        
        remove_menu_page( 'plugins.php' ); //Plugins
        remove_menu_page( 'tools.php' ); //Tools
        remove_menu_page( 'users.php' ); //Users
        
    }
    
}

add_action('admin_head', 'hide_menu');

Easy Solution: You can use this plugin: https://wordpress.org/plugins/prevent-direct-access/简易解决方案:您可以使用此插件: https://wordpress.org/plugins/prevent-direct-access/

Coding Solution:编码方案:

    add_action('template_redirect', function() {
        // ID of the page you want to restrict from
        if (!is_page(2072)) {
           return;
        }

        // Provide the link of admin dashboard, so that page should only 
       // accessible 
      //  through admin dashboard
        if (wp_get_referer() === 'https://example.com/wp-admin/') {
            return;
        }

       // we are on restricted page
       // visitor is trying to access directly
        // so redirect to home
       wp_redirect(get_home_url());
        exit;
    } );

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM