Support Forums

The forums are closed and will be removed when we launch our new site.

Looking for support? You can access the support system via your account.

Forums Forums Search & Filter Pro Custom order of post meta options

Tagged: 

Viewing 2 posts - 11 through 12 (of 12 total)
  • Matt Harris
    #195804

    Ok I got this working! Maybe not the best way possible but it works. Here is what I have done:

    function filter_input_object($input_object, $sfid) {
       
     	if(($input_object['name']!='_sfm_colors')||($input_object['type']!='select')) {
     		return $input_object;
     	}
      
      if(!isset($input_object['options'])) {
    		return $input_object;
    	}
      
      // Move Green To Top
      $key = array_search('Green', array_column($input_object['options'], 'value'));
      $top = $input_object['options'][$key];
      unset($input_object['options'][$key]);
      array_unshift($input_object['options'], $top);
      
      // Move All Colors Back to Top
      $key1 = array_search('', array_column($input_object['options'], 'value'));
      $top1 = $input_object['options'][$key1];
      unset($input_object['options'][$key1]);
      array_unshift($input_object['options'], $top1);
      
      return $input_object;
    }
    
    add_filter('sf_input_object_pre', 'filter_input_object', 10, 2);

    If there is a cleaner way I am interested, but this does work.

    Ross Moderator
    #195850

    Hi Matt

    I had a look, and yeah that’s pretty much it.

    The code for re-organising arrays in PHP is never pretty, especially if you want to put a value, but there are always a bunch of ways to do the same thing. I don’t have the code written and handy but a couple of other approaches could be:

    1) Splice the array and rejoin like you mentioned before
    2) Create a list array("red", "green", "blue") of the order you want all the elements and loop through it, adding the $input_object['options'] one by one to a new array, then replace ['options'] with the new array, in the order you wanted

    I hope that helps, but it looks like you are on the right track already.

    Thanks

Viewing 2 posts - 11 through 12 (of 12 total)

The forum ‘Search & Filter Pro’ is closed to new topics and replies.