BP_XProfile_User_Admin::user_admin_profile_metaboxes( WP_User|null $user = null, array $args = array() )
Render the xprofile metabox for Community Profile screen.
Description
Parameters
- $user
-
(Optional) The WP_User object for the user being edited.
Default value: null
- $args
-
(Optional) Aray of arguments for metaboxes.
Default value: array()
Source
File: bp-xprofile/classes/class-bp-xprofile-user-admin.php
public function user_admin_profile_metaboxes( $user = null, $args = array() ) { // Bail if no user ID. if ( empty( $user->ID ) ) { return; } $r = bp_parse_args( $args['args'], array( 'profile_group_id' => 0, 'user_id' => $user->ID ), 'bp_xprofile_user_admin_profile_loop_args' ); // We really need these args. if ( empty( $r['profile_group_id'] ) || empty( $r['user_id'] ) ) { return; } // Bail if no profile fields are available. if ( ! bp_has_profile( $r ) ) { return; } // Loop through profile groups & fields. while ( bp_profile_groups() ) : bp_the_profile_group(); ?> <input type="hidden" name="field_ids[]" id="<?php echo esc_attr( 'field_ids_' . bp_get_the_profile_group_slug() ); ?>" value="<?php echo esc_attr( bp_get_the_profile_group_field_ids() ); ?>" /> <?php if ( bp_get_the_profile_group_description() ) : ?> <p class="description"><?php bp_the_profile_group_description(); ?></p> <?php endif; ?> <?php while ( bp_profile_fields() ) : bp_the_profile_field(); ?> <div<?php bp_field_css_class( 'bp-profile-field' ); ?>> <fieldset> <?php $field_type = bp_xprofile_create_field_type( bp_get_the_profile_field_type() ); $field_type->edit_field_html( array( 'user_id' => $r['user_id'] ) ); /** * Fires before display of visibility form elements for profile metaboxes. * * @since BuddyPress 1.7.0 */ do_action( 'bp_custom_profile_edit_fields_pre_visibility' ); $can_change_visibility = bp_current_user_can( 'bp_xprofile_change_field_visibility' ); ?> <p class="field-visibility-settings-<?php echo $can_change_visibility ? 'toggle' : 'notoggle'; ?>" id="field-visibility-settings-toggle-<?php bp_the_profile_field_id(); ?>"><span id="<?php bp_the_profile_field_input_name(); ?>-2"> <?php printf( __( 'This field can be seen by: %s', 'buddyboss' ), '<span class="current-visibility-level">' . bp_get_the_profile_field_visibility_level_label() . '</span>' ); ?> </span> <?php if ( $can_change_visibility ) : ?> <button type="button" class="button visibility-toggle-link" aria-describedby="<?php bp_the_profile_field_input_name(); ?>-2" aria-expanded="false"><?php esc_html_e( 'Change', 'buddyboss' ); ?></button> <?php endif; ?> </p> <?php if ( $can_change_visibility ) : ?> <div class="field-visibility-settings" id="field-visibility-settings-<?php bp_the_profile_field_id() ?>"> <fieldset> <legend><?php _e( 'Who can see this field?', 'buddyboss' ); ?></legend> <?php bp_profile_visibility_radio_buttons(); ?> </fieldset> <button type="button" class="button field-visibility-settings-close"><?php esc_html_e( 'Close', 'buddyboss' ); ?></button> </div> <?php endif; ?> <?php /** * Fires at end of custom profile field items on your xprofile screen tab. * * @since BuddyPress 1.1.0 */ do_action( 'bp_custom_profile_edit_fields' ); ?> </fieldset> </div> <?php endwhile; // End bp_profile_fields(). ?> <?php endwhile; // End bp_profile_groups. }
Changelog
Version | Description |
---|---|
BuddyPress 2.0.0 | Introduced. |
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.