Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Get Field Options
- */
- function yzc_get_xprofile_field_options( $field_id ) {
- // Get Field Data.
- $field = new BP_XProfile_Field( $field_id );
- // Get Select Box Options.
- $children = $field->get_children();
- //
- $options = wp_list_pluck( $children, 'name' );
- return $options;
- }
- /**
- * Add New Xprofile Field As new Filter.
- */
- function yzc_add_new_members_directory_filter() {
- // Get Field ID.
- $field_id = 625;
- // Get Field Options.
- $options = yzc_get_xprofile_field_options( $field_id );
- ?>
- <li id="members-city-select" class="last filter">
- <select id="members-city-by">
- <option value=""><?php _e( 'Filter By City', 'youzer' );?></option>
- <?php foreach ( $options as $option ) : ?>
- <option value="<?php echo $option; ?>"><?php echo $option; ?></option>
- <?php endforeach; ?>
- </select>
- </li>
- <?php
- }
- add_action( 'bp_members_directory_member_sub_types', 'yzc_add_new_members_directory_filter' );
- /**
- * Members Directory - Set Field Filter.
- */
- function yzc_set_filter_by_xprofile_field( $loop ) {
- // Get Field ID.
- $field_id = 625;
- // Get Field Options.
- $options = yzc_get_xprofile_field_options( $field_id );
- if ( bp_is_members_directory() && isset( $_POST['filter'] ) && in_array( $_POST['filter'], $options ) ) {
- $loop['type'] = 'alphabetical';
- $loop['search_terms'] = $_POST['filter'];
- }
- return $loop;
- }
- add_filter( 'bp_after_has_members_parse_args', 'yzc_set_filter_by_xprofile_field', 9999 );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement