bp_ps_fields_box( $post )

Output BuddyBoss profile search admin settings.

Description

Source

File: bp-core/profile-search/bps-admin.php

function bp_ps_fields_box ( $post ) {
	$bp_ps_options = bp_ps_meta ( $post->ID );

	list ($groups, $fields) = bp_ps_get_fields ();
	echo '<script>var bp_ps_groups = ['. json_encode ($groups). '];</script>';
	?>

	<div id="field_box" class="field_box">
		<p>
			<span class="bp_ps_col1"></span>
			<span class="bp_ps_col2"><strong>&nbsp;<?php _e('Field', 'buddyboss'); ?></strong></span>&nbsp;
			<span class="bp_ps_col3"><strong>&nbsp;<?php _e('Label', 'buddyboss'); ?></strong></span>&nbsp;
			<span class="bp_ps_col4"><strong>&nbsp;<?php _e('Description', 'buddyboss'); ?></strong></span>&nbsp;
			<span class="bp_ps_col5"><strong>&nbsp;<?php _e('Search Mode', 'buddyboss'); ?></strong></span>
		</p>
		<input type="hidden" id="empty-box-alert" name="empty-box-alert" value="<?php _e('You cannot remove this field, you must have at least one field to use this feature. To disable search navigate to Dashboard->BuddyBoss->Settings->Profiles.', 'buddyboss'); ?>">
		<?php

		foreach ($bp_ps_options['field_code'] as $k => $id) {

			if (empty ($fields[$id]))  continue;

			$field = $fields[$id];
			$label = esc_attr ($bp_ps_options['field_label'][$k]);
			$default = esc_attr ($field->name);
			$showlabel = empty ($label)? "placeholder=\"$default\"": "value=\"$label\"";
			$desc = esc_attr ($bp_ps_options['field_desc'][$k]);
			$default = esc_attr ($field->description);
			$showdesc = ! empty( $desc ) ? "value=\"$desc\"" : "";
			?>

			<div id="field_div<?php echo $k; ?>" class="sortable">
				<span class="bp_ps_col1" title="<?php _e('Drag & drop to reorder fields', 'buddyboss'); ?>">&nbsp;&#x21C5;</span>
				<?php _bp_ps_field_select ($groups, "bp_ps_options[field_name][$k]", "field_name$k", $id); ?>
				<input class="bp_ps_col3" type="text" name="bp_ps_options[field_label][<?php echo $k; ?>]" id="field_label<?php echo $k; ?>" <?php echo $showlabel; ?> />
				<input class="bp_ps_col4" type="text" name="bp_ps_options[field_desc][<?php echo $k; ?>]" id="field_desc<?php echo $k; ?>" <?php echo $showdesc; ?> />
	            <?php
				if ( 'heading' != $field->code ) {
	                _bp_ps_filter_select ($field, "bp_ps_options[field_mode][$k]", "field_mode$k", $bp_ps_options['field_mode'][$k]);
	            } else {
	                echo "<span class='bp_ps_col5'>-</span>";
	            }
	            ?>
				<a href="javascript:remove('field_div<?php echo $k; ?>')" class="delete"><?php _e('Remove', 'buddyboss'); ?></a>
            
	            <?php
	            if ( 'date_range' == $bp_ps_options['field_mode'][$k] ) {
	                global $wpdb;
	                $bp = buddypress();
	                $field_group_id = $wpdb->get_var( "SELECT group_id FROM {$bp->profile->table_name_fields} WHERE id = {$field->id} AND type != 'option' " );
	                $is_repeater_enabled = 'on' == bp_xprofile_get_meta( $field_group_id, 'group', 'is_repeater_enabled' ) ? true : false;

	                if ( $is_repeater_enabled ) {
	                    echo "<br><span class='bp_ps_col1'></span>&nbsp;&nbsp;";//for spacing
	                    echo "<em>". __( 'WARNING', 'buddyboss' ) ."</em>: " . __( 'You are adding a date field which is inside a repeater set. This will not work correctly in search.', 'buddyboss' );
	                    echo "<p></p>";//for spacing
	                }
	            }
	            ?>
			</div> <?php
		} ?>
	</div>
	<input type="hidden" id="field_next" value="<?php echo count ($bp_ps_options['field_code']); ?>" />
	<p><a href="javascript:add_field()"><?php _e('Add Field', 'buddyboss'); ?></a></p>
<?php
}

Changelog

Changelog
Version Description
BuddyBoss 1.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.