If user is role glm own entity manager then redirect to member dashboard
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 20 Dec 2017 15:22:41 +0000 (10:22 -0500)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 20 Dec 2017 15:22:41 +0000 (10:22 -0500)
Redirect to member dashboard if the current user belongs to the own
entity manager role.

index.php

index dad9345..aa01b7a 100644 (file)
--- 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');
 ?>