【问题标题】:WordPress menu page is showing from the URL after hide itWordPress 菜单页面在隐藏后从 URL 显示
【发布时间】:2019-04-14 02:27:45
【问题描述】:

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

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,我可以看到联系表单插件,但我将其隐藏在用户帐户仪表板菜单中,对吗?

www.mysite.com/wp-admin/admin.php?page=wpcf7

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

【问题讨论】:

  • 您是否尝试过以用户身份登录?

标签: wordpress


【解决方案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 );
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多