'GET', 'callback' => 'addifect_get_current_user_info', 'permission_callback' => 'addifect_is_authenticated_user', ) ); } ); /** * Get current logged-in user information. * * @return WP_REST_Response */ function addifect_get_current_user_info() { $current_user = wp_get_current_user(); // Only expose capabilities the frontend editor actually needs to check. // This prevents leaking sensitive site internals. $capabilities = array( 'can_manage_options' => current_user_can( 'manage_options' ), // phpcs:ignore WordPress.WP.Capabilities.Unknown 'can_edit_designs' => current_user_can( 'addifect_edit_design_files' ), 'can_edit_posts' => current_user_can( 'edit_posts' ), 'can_edit_pages' => current_user_can( 'edit_pages' ), ); $data = array( 'user_name' => $current_user->display_name, 'user_avatar' => get_avatar_url( $current_user->ID ), 'capabilities' => $capabilities, 'signature' => addifect_get_user_role_signature(), ); return new WP_REST_Response( $data, 200 ); }