'GET', 'callback' => array( __CLASS__, 'get_current_user' ), 'permission_callback' => 'is_user_logged_in', ), ); } /** * Current user information * * @param WP_REST_Request $request - request object. * @return WP_Error|WP_REST_Response */ public static function get_current_user( $request ) { $current_user = WPSC_Current_User::$current_user; $data = array( 'name' => $current_user->customer->name, 'email' => $current_user->customer->email, 'is_agent' => $current_user->is_agent, ); if ( $current_user->is_agent ) { $agent_roles = get_option( 'wpsc-agent-roles', array() ); $data['agent_caps'] = $agent_roles[ $current_user->agent->role ]['caps']; } return new WP_REST_Response( $data, 200 ); } } endif; WPSC_REST_Current_User::init();