Forum Replies Created

Viewing 1 post (of 1 total)
  • Author
  • in reply to: Visibility Profile by sex #144134
     yumnihon
    Participant

    Hi Laura

    My I am fiel ID is 307 (group_id=1&field_id=307)
    I insert bellow code, but it didnot work.

    COPY CODE
    class BP_Custom_User_Ids {
    
        private $custom_ids = array();
    
        public function __construct() {
    
            $this->custom_ids = $this->get_custom_ids();
    
            add_action( 'bp_pre_user_query_construct',  array( $this, 'custom_members_query' ), 1, 1 );
            add_filter( 'bp_get_total_member_count',    array( $this, 'custom_members_count' ), 1, 1 );
    
        }
    
    private function get_custom_ids() {
        global $wpdb;
    
        //figure out if the logged-in user is male or female
       $sex = xprofile_get_field_data( 307, bp_loggedin_user_id() );
    
       if ( $sex == 'Man' ) 
          $query = "SELECT user_id FROM {$wpdb->prefix}bp_xprofile_data WHERE field_id = 307 AND value = 'Woman'";
       else 
          $query = "SELECT user_id FROM {$wpdb->prefix}bp_xprofile_data WHERE field_id = 307 AND value = 'Man'";          
    
        $custom_ids = $wpdb->get_col( $query );
    
        return $custom_ids;
    }
    
        function custom_members_query( $query_array ) {
    
            $query_array->query_vars['include'] = $this->custom_ids;
    
        }  
    
        function custom_members_count ( $count ) {
    
            $new_count = count( $this->custom_ids );
            return $new_count;
    
        }
    }
    
    function custom_user_ids( ) {
    
        new BP_Custom_User_Ids ();
    
    }
    
    add_action( 'bp_before_directory_members', 'custom_user_ids' );
Viewing 1 post (of 1 total)

Log in with your credentials

Forgot your details?