Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. <?php
  2. /**
  3. * Get Field Options
  4. */
  5. function yzc_get_xprofile_field_options( $field_id ) {
  6.  
  7. // Get Field Data.
  8. $field = new BP_XProfile_Field( $field_id );
  9.  
  10. // Get Select Box Options.
  11. $children = $field->get_children();
  12.  
  13. //
  14. $options = wp_list_pluck( $children, 'name' );
  15.  
  16. return $options;
  17. }
  18.  
  19. /**
  20. * Add New Xprofile Field As new Filter.
  21. */
  22. function yzc_add_new_members_directory_filter() {
  23.  
  24. // Get Field ID.
  25. $field_id = 625;
  26.  
  27. // Get Field Options.
  28. $options = yzc_get_xprofile_field_options( $field_id );
  29.  
  30. ?>
  31.  
  32. <li id="members-city-select" class="last filter">
  33. <select id="members-city-by">
  34. <option value=""><?php _e( 'Filter By City', 'youzer' );?></option>
  35. <?php foreach ( $options as $option ) : ?>
  36. <option value="<?php echo $option; ?>"><?php echo $option; ?></option>
  37. <?php endforeach; ?>
  38. </select>
  39. </li>
  40.  
  41. <?php
  42. }
  43.  
  44. add_action( 'bp_members_directory_member_sub_types', 'yzc_add_new_members_directory_filter' );
  45.  
  46.  
  47. /**
  48. * Members Directory - Set Field Filter.
  49. */
  50. function yzc_set_filter_by_xprofile_field( $loop ) {
  51.  
  52. // Get Field ID.
  53. $field_id = 625;
  54.  
  55. // Get Field Options.
  56. $options = yzc_get_xprofile_field_options( $field_id );
  57.  
  58. if ( bp_is_members_directory() && isset( $_POST['filter'] ) && in_array( $_POST['filter'], $options ) ) {
  59. $loop['type'] = 'alphabetical';
  60. $loop['search_terms'] = $_POST['filter'];
  61. }
  62.  
  63. return $loop;
  64.  
  65. }
  66.  
  67. 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