The Member Profiles feature set covers profile-page user resolution, custom profile fields, privacy export integration, and Bricks Forms account-management actions. The current runtime bootstrap owner is src/Modules/MemberProfiles/MemberProfilesFeatureRegistrar.php.
Module Gate and Entry Points
- Module flag:
brm_enable_member_profiles - Bootstrap path:
src/Bootstrap/BootstrapCoordinator.php→MemberProfilesFeatureRegistrar::boot() - Admin page:
admin.php?page=brm-profile-fields - Profile resolver:
src/Services/ProfilePageService.php
Profile Page Resolution
ProfilePageService owns the configurable detection cascade used by profile pages and profile-aware dynamic tags. It supports these detection modes:
currenturl_paramauthorurl_param_author
It also registers the query vars brm_profile_user and brm_profile_user_id, plus rewrite rules for profile-style routes when URL-param detection is enabled.
Field Visibility and Directory Query Support
ProfileFieldsHelperService owns field visibility, privacy export registration, and the Bricks user-query filters that protect private-owner rows from leaking into public directories.
wp_privacy_personal_data_exportersbricks/users/query_varsbricks/query/resultbricks/query/result_countbricks/query/result_max_num_pages
Bricks Forms Account Actions
Frontend account mutations are exposed through Bricks Forms integrations under src/Integrations/BricksForms/. The current feature set includes profile edit, password change, email change, avatar upload, custom fields, privacy settings, export, and account deletion.
Admin Surface
ProfileFieldsPage renders the field editor and ProfileFieldsHandler processes saves. That admin transport is separate from runtime profile resolution and query filtering.
Edit Guidance
- Start in
ProfilePageServicefor route-resolution and user-detection changes. - Start in
ProfileFieldsHelperServicefor visibility, directory, or privacy-export behavior. - Start in the specific Bricks Forms integration when the change affects an account form action.