Forums Forums Search & Filter Pro Search by ACF Field sorted by Last Name custom field

Viewing 5 posts - 11 through 15 (of 15 total)
  • Trevor
    #223987

    You could take the array that has the current values, add an extra ‘column’ to the array, extract the surname into that, then sort, then remove the new column and replace the array.

    Anonymous
    #224003

    Are there any examples in doing something similar to this?

    Trevor
    #224007

    Not on our forum, as this is very custom. StackExchange would be the best place to look, but you may need to hire a PHP coder to do it.

    Anonymous
    #224032

    Trevor,

    Thanks for all your help. I was able to find some code and have adapted it to work the way we need. It’s below incase you need it for anyone else

    function filter_function_name($input_object, $sfid) {
    
            if ($input_object['name'] == '_sfm_attorneys') {
    
    		global $coauthors_plus;
    			
    		// Update option labels before rendering
    
    			foreach($input_object['options'] as $key => $option) {
    
    						$my_query = new WP_Query( array( 'post_type' => 'attorney', 'p' => $option->value));
    						while ($my_query->have_posts()) : $my_query->the_post();
    							$att_first = types_render_field("att_first", array());
    							$att_last = types_render_field("att_last", array());
    
    							$input_object['options'][$key]->label = $att_last . ', ' . $att_first;
    				
    						endwhile;
    
    	        	}
    
    	        	// Sort options...
    
    	        		$sortArray = array(); 
    
    	        		foreach($input_object['options'] as $option) { 
    
    				    foreach($option as $key => $value) { 
    
    				        if(!isset($sortArray[$key])) { 
    
    				            $sortArray[$key] = array(); 
    
    				        } 
    
    				        $sortArray[$key][] = $value; 
    
    				    }
    
    				}
    
    				// ...by label
    
    	        		$orderby = "label";
    
    				array_multisort($sortArray[$orderby],SORT_ASC,$input_object['options']); 
    
    	}
    		
    		// Return
    
    			return $input_object;
    
    	}
    
    	add_filter('sf_input_object_pre', 'filter_function_name', 10, 2);
    Trevor
    #224036

    Thanks for letting me know and sharing. I will close this thread for now.

Viewing 5 posts - 11 through 15 (of 15 total)