From: Steve Sutton Date: Wed, 20 Dec 2017 15:22:41 +0000 (-0500) Subject: If user is role glm own entity manager then redirect to member dashboard X-Git-Tag: v1.1.3^2~1 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/index.cgi?a=commitdiff_plain;h=823916df12a3dbdb95217cff56b78199af10bbab;p=WP-Plugins%2Fglm-member-db-contacts.git If user is role glm own entity manager then redirect to member dashboard Redirect to member dashboard if the current user belongs to the own entity manager role. --- diff --git a/index.php b/index.php index dad9345..aa01b7a 100644 --- a/index.php +++ b/index.php @@ -368,4 +368,30 @@ add_filter("login_redirect", "my_login_redirect", 10, 3); // Block admin access if logged in as WooCommerce user add_filter( 'woocommerce_prevent_admin_access', '__return_false' ); +/* Remove the "Dashboard" from the admin menu for non-admin users */ +function glm_hide_admin_dashboard () { + global $current_user, $menu, $submenu; + get_currentuserinfo(); + + if( in_array( 'glm_members_own_entity_manager', $current_user->roles ) ) { + reset( $menu ); + $page = key( $menu ); + while( ( __( 'Dashboard' ) != $menu[$page][0] ) && next( $menu ) ) { + $page = key( $menu ); + } + if( __( 'Dashboard' ) == $menu[$page][0] ) { + unset( $menu[$page] ); + } + reset($menu); + $page = key($menu); + while ( ! $current_user->has_cap( $menu[$page][1] ) && next( $menu ) ) { + $page = key( $menu ); + } + // Check for a match to Dashboard (page) + if ( preg_match( '#wp-admin/?(index.php)?$#', $_SERVER['REQUEST_URI'] ) && ( 'index.php' != $menu[$page][2] ) ) { + wp_redirect( get_option( 'siteurl' ) . '/wp-admin/admin.php?page=glm-members-admin-menu-member'); + } + } +} +add_action('admin_menu', 'glm_hide_admin_dashboard'); ?>