xprofile_admin_field( BP_XProfile_Field $admin_field, object $admin_group, string $class = '' )
Handles the WYSIWYG display of each profile field on the edit screen.
Description
Parameters
- $admin_field
-
(Required) Admin field.
- $admin_group
-
(Required) Admin group object.
- $class
-
(Optional) Classes to append to output.
Default value: ''
Source
File: bp-xprofile/bp-xprofile-admin.php
function xprofile_admin_field( $admin_field, $admin_group, $class = '' ) {
global $field;
$field = $admin_field;
// Users admin URL
$url = bp_get_admin_url( 'admin.php' );
// Edit
$field_edit_url = add_query_arg( array(
'page' => 'bp-profile-setup',
'mode' => 'edit_field',
'group_id' => (int) $field->group_id,
'field_id' => (int) $field->id
), $url );
// Delete
if ( $field->can_delete ) {
$field_delete_url = add_query_arg( array(
'page' => 'bp-profile-setup',
'mode' => 'delete_field',
'field_id' => (int) $field->id
), $url . '#tabs-' . (int) $field->group_id );
}
$fieldset_class = [ $field->type ];
// sortable class
$fieldset_class[] = in_array( $field->id, array_filter( [
bp_xprofile_firstname_field_id(),
bp_xprofile_lastname_field_id(),
bp_xprofile_nickname_field_id()
] ) )? 'primary_field' : 'sortable';
$fieldset_class[] = ! empty( $class )? $class : '';
$fieldset_class = array_filter( $fieldset_class );
?>
<fieldset id="draggable_field_<?php echo esc_attr( $field->id ); ?>" class="<?php echo implode( ' ', $fieldset_class ); ?>">
<legend>
<span>
<span class="field-name"><?php bp_the_profile_field_name(); ?></span>
<?php if ( empty( $field->can_delete ) ) : ?><?php esc_html_e( '(Signup)', 'buddyboss' ); endif; ?>
<?php bp_the_profile_field_required_label(); ?>
<?php if ( bp_xprofile_get_meta( $field->id, 'field', 'signup_position' ) ) : ?><?php esc_html_e( '(Signup)', 'buddyboss' ); endif; ?>
<?php if ( bp_get_member_types() ) : echo $field->get_member_type_label(); endif; ?>
<?php
/**
* Fires at end of legend above the name field in base xprofile group.
*
* @since BuddyPress 2.2.0
*
* @param BP_XProfile_Field $field Current BP_XProfile_Field
* object being rendered.
*/
do_action( 'xprofile_admin_field_name_legend', $field ); ?>
</span>
</legend>
<div class="field-wrapper">
<?php if ( $field->description ) : ?>
<p class="description"><?php echo esc_attr( $field->description ); ?></p>
<?php endif; ?>
<div class="actions">
<a class="button edit" href="<?php echo esc_url( $field_edit_url ); ?>"><?php _e( 'Edit', 'buddyboss' ); ?></a>
<?php if ( $field->can_delete ) : ?>
<div class="delete-button">
<a class="confirm submit-delete deletion" href="<?php echo esc_url( $field_delete_url ); ?>"><?php _e( 'Delete', 'buddyboss' ); ?></a>
</div>
<?php endif; ?>
<?php
/**
* Fires at end of field management links in xprofile management admin.
*
* @since BuddyPress 2.2.0
*
* @param BP_XProfile_Group $group BP_XProfile_Group object
* for the current group.
*/
do_action( 'xprofile_admin_field_action', $field ); ?>
</div>
</div>
</fieldset>
<?php
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 1.5.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.