隐藏后,从URL显示WordPress菜单页面

问题描述 投票:0回答:1

我正在使用以下代码隐藏用户帐户中的菜单;

function hide_menu_from_user () {
    if ( !current_user_can( 'administrator' ) ) {
        remove_menu_page( 'edit-comments.php' ); 
        remove_menu_page( 'wpcf7' ); 
        remove_menu_page( 'tools.php' ); 
        remove_menu_page( 'vc-welcome' ); 
    }   
}
add_action( 'admin_menu', 'hide_menu_from_user', 999 );

现在,这些菜单没有显示,但如果你使用URL并粘贴它,那么页面就会出现:

如果我使用此URL,我可以看到联系表单插件,但我将其隐藏在用户帐户仪表板菜单中,对吧?

呜呜呜.my site.com/我怕-admin/admin.PHP?怕个=物品存放7

我该如何解决?上面的代码有什么问题吗?

wordpress
1个回答
1
投票

请尝试以下代码: -

function hide_menu_from_user () {
    if ( !current_user_can( "administrator") ) {
      remove_admin_url_access( "edit-comments.php" );
      remove_admin_url_access( "wpcf7" );
      remove_admin_url_access( "tools.php" );
      remove_admin_url_access( "vc-welcome" );
    }   
}
add_action( "admin_menu", "hide_menu_from_user", 999 );

if(!function_exists('remove_admin_url_access') ) {
    function remove_admin_url_access($menu_to_hide){
        global $pagenow;
        global $parent_file;

        remove_menu_page( $menu_to_hide );

        if($menu_to_hide == $pagenow || $menu_to_hide == $parent_file  ) {
            do_action( "admin_page_access_denied" );
           wp_die( __( "Sorry, you are not allowed to access this page." ), 403 );
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.