BP_Xprofile_Profile_Completion_Widget::form( $instance )
Widget settings form.
Description
Source
File: bp-xprofile/classes/class-bp-xprofile-profile-completion-widget.php
function form( $instance ) {
$instance = wp_parse_args(
(array) $instance,
array(
'title' => __( 'Complete Your Profile', 'buddyboss' ),
)
);
/* Profile Groups and Profile Cover Photo VARS. */
$profile_groups = bp_xprofile_get_groups();
$photos_enabled_arr = array();
$widget_enabled_arr = array();
$is_profile_photo_disabled = bp_disable_avatar_uploads();
$is_cover_photo_disabled = bp_disable_cover_image_uploads();
// Show Options only when Profile Photo and Cover option enabled in the Profile Settings.
if ( ! $is_profile_photo_disabled ) {
$photos_enabled_arr['profile_photo'] = __( 'Profile Photo', 'buddyboss' );
}
if ( ! $is_cover_photo_disabled ) {
$photos_enabled_arr['cover_photo'] = __( 'Cover Photo', 'buddyboss' );
}
$widget_enabled_arr['hide_widget'] = __( 'Hide widget once progress hits 100%', 'buddyboss' );
/* Widget Form HTML */ ?>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php esc_html_e( 'Title:', 'buddyboss' ); ?></label>
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $instance['title'] ); ?>"/>
</p> <p>
<label><?php esc_html_e( 'Profile field sets:', 'buddyboss' ); ?></label>
<ul>
<?php
foreach ( $profile_groups as $single_group_details ) :
$is_checked = ( ! empty( $instance['profile_groups_enabled'] ) && in_array( $single_group_details->id, $instance['profile_groups_enabled'] ) );
?>
<li>
<label>
<input class="widefat" type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'profile_groups_enabled' ) ); ?>[]" value="<?php echo esc_attr( $single_group_details->id ); ?>"
<?php checked( $is_checked ); ?>
/>
<?php echo esc_html( $single_group_details->name ); ?>
</label>
</li>
<?php endforeach; ?>
</ul>
</p>
<?php if ( ! empty( $photos_enabled_arr ) ) : ?>
<p>
<label><?php esc_html_e( 'Profile photos:', 'buddyboss' ); ?></label>
<ul>
<?php foreach ( $photos_enabled_arr as $photos_value => $photos_label ) : ?>
<li>
<label>
<input class="widefat" type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'profile_photos_enabled' ) ); ?>[]" value="<?php echo esc_attr( $photos_value ); ?>" <?php checked( ( ! empty( $instance['profile_photos_enabled'] ) && in_array( $photos_value, $instance['profile_photos_enabled'] ) ) ); ?>/>
<?php echo esc_html( $photos_label ); ?>
</label>
</li>
<?php endforeach; ?>
</ul>
</p>
<?php endif; ?>
<?php if ( ! empty( $widget_enabled_arr ) ) : ?>
<p>
<label><?php esc_html_e( 'Options:', 'buddyboss' ); ?></label>
<ul>
<?php foreach ( $widget_enabled_arr as $option_value => $option_label ) : ?>
<li>
<label>
<input class="widefat" type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'profile_hide_widget' ) ); ?>[]" value="<?php echo esc_attr( $option_value ); ?>" <?php checked( ( ! empty( $instance['profile_hide_widget'] ) && in_array( $option_value, $instance['profile_hide_widget'] ) ) ); ?>/>
<?php echo esc_html( $option_label ); ?>
</label>
</li>
<?php endforeach; ?>
</ul>
</p>
<?php endif; ?>
<?php
/**
* Fires after showing last field in the Widget form.
*
* @since BuddyBoss 1.2.5
*/
do_action( 'xprofile_profile_completion_form' );
?>
<p>
<small><?php esc_html_e( 'Note: This widget is only displayed if a member is logged in.', 'buddyboss' ); ?></small>
</p>
<?php
}
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.