/** * Render the xprofile metabox for Community Profile screen. * * @since 2.0.0 * * @param WP_User|null $user The WP_User object for the user being edited. * @param array $args Aray of arguments for metaboxes. */ 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 } ?> <?php while (bp_profile_fields()) { bp_the_profile_field(); ?> <div<?php bp_field_css_class('bp-profile-field'); ?> > <?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'])); if (bp_get_the_profile_field_description()) { ?> <p class="description"><?php bp_the_profile_field_description(); ?> </p> <?php } /** * Fires before display of visibility form elements for profile metaboxes. * * @since 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(); ?> "> <?php printf(__('This field can be seen by: %s', 'buddypress'), '<span class="current-visibility-level">' . bp_get_the_profile_field_visibility_level_label() . '</span>'); ?> <?php if ($can_change_visibility) { ?> <a href="#" class="button visibility-toggle-link"><?php esc_html_e('Change', 'buddypress'); ?> </a> <?php } ?> </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?', 'buddypress'); ?> </legend> <?php bp_profile_visibility_radio_buttons(); ?> </fieldset> <a class="button field-visibility-settings-close" href="#"><?php esc_html_e('Close', 'buddypress'); ?> </a> </div> <?php } ?> <?php /** * Fires at end of custom profile field items on your xprofile screen tab. * * @since 1.1.0 */ do_action('bp_custom_profile_edit_fields'); ?> </div> <?php } // End bp_profile_fields(). ?> <?php } // End bp_profile_groups. }
<?php do_action('bp_custom_profile_edit_fields'); ?> <p class="description"><?php bp_the_profile_field_description(); ?> </p> </div> <?php } ?> <?php $fields_ids[] = bp_get_the_profile_group_field_ids(); ?> <?php } } } ?> <input type="hidden" name="signup_profile_field_ids" id="signup_profile_field_ids" value="<?php echo implode(",", $fields_ids); ?> "> </section><!-- #profile-details-section --> <?php }
function bp_the_profile_group_field_ids() { echo bp_get_the_profile_group_field_ids(); }
/** * Render the xprofile metabox for Community Profile screen. * * @access public * @since BuddyPress (2.0.0) * * @param WP_User $user The WP_User object for the user being edited. */ public function user_admin_profile_metaboxes($user = null, $args = array()) { 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; } if (bp_has_profile($r)) { 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 } while (bp_profile_fields()) { bp_the_profile_field(); ?> <div<?php bp_field_css_class('bp-profile-field'); ?> > <?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'])); if (bp_get_the_profile_field_description()) { ?> <p class="description"><?php bp_the_profile_field_description(); ?> </p> <?php } 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(); ?> "> <?php printf(__('This field can be seen by: <span class="%s">%s</span>', 'buddypress'), esc_attr('current-visibility-level'), bp_get_the_profile_field_visibility_level_label()); if ($can_change_visibility) { ?> <a href="#" class="button visibility-toggle-link"><?php _e('Change', 'buddypress'); ?> </a> <?php } ?> </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?', 'buddypress'); ?> </legend> <?php bp_profile_visibility_radio_buttons(); ?> </fieldset> <a class="button field-visibility-settings-close" href="#"><?php _e('Close', 'buddypress'); ?> </a> </div> <?php } do_action('bp_custom_profile_edit_fields'); ?> </div> <?php } // bp_profile_fields() } // bp_profile_groups() } }