BP_Admin_Setting_Xprofile::settings_save()
Description
Source
File: bp-core/admin/settings/bp-admin-setting-xprofile.php
public function settings_save() { $if_disabled_before_saving = bp_disable_advanced_profile_search(); parent::settings_save(); $if_disabled_after_saving = bp_disable_advanced_profile_search(); /** * sync bp-enable-member-dashboard with cutomizer settings. * * @since BuddyBoss 1.0.0 */ $bp_nouveau_appearance = bp_get_option( 'bp_nouveau_appearance', array() ); $bp_nouveau_appearance[ 'user_front_page' ] = isset( $_POST[ 'bp-enable-member-dashboard' ] ) ? $_POST[ 'bp-enable-member-dashboard' ] : 0; $bp_nouveau_appearance[ 'user_front_page_redirect' ] = isset( $_POST[ 'bp-enable-member-dashboard-redirect' ] ) ? $_POST[ 'bp-enable-member-dashboard-redirect' ] : 0; bp_update_option( 'bp_nouveau_appearance', $bp_nouveau_appearance ); //Set requirement for last name based on display format if ( isset( $_POST[ 'bp-display-name-format' ] ) && $_POST[ 'bp-display-name-format' ] == 'first_last_name' ) { if ( $last_name_field = xprofile_get_field( bp_xprofile_lastname_field_id() ) ) { $last_name_field->is_required = true; $last_name_field->save(); } } if ( $if_disabled_before_saving && ! $if_disabled_after_saving ) { /** * Advanced profile search was disabled before and is now enabled. * So ideally, the new 'profile search' menu should now be visible under users nav. * But that doesn't happen becuase by the time settings are updated, register_post_type hooks have already been executed. * So user doesn't see that untill next reload/request. * * To avoid that, we'll need to do a force redirect. */ wp_safe_redirect( bp_get_admin_url( 'admin.php?page=bp-settings&tab=bp-xprofile' ) ); exit(); } }
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.