Support » Plugin: Car Demon » Search/Filter by location

  • I have set up Car Demon, but I cannot figure out how to get drop down filter by Location. Is this something we would have to add custom? I have figured out how to get there through the taxonomy “/inventory/location/CITYNAMEHERE/”, but would like something to show up in the search section instead of a hard link for each location.

    Also, I can’t see the sort by Mileage drop down (but by Price is fine) even though even though the setting is set to “Yes” in List Options –> “Sort by Mileage”

    Anyone have suggestions?

Viewing 1 replies (of 1 total)
  • Plugin Author theverylastperson

    (@theverylastperson)

    Hi Richard,

    Just FYI – it’s usually faster to contact us directly on our website. We only swing by these forums sporadically every few weeks. You just happened to get lucky posting on a day when I happened to be on here.

    There’s a commercial search form that has a location field. That might be the easiest way to take care of this.

    The next way to go would be to ‘filter’ the search form using a little PHP.

    Here’s a very basic code example that you could try. Drop this into your theme’s functions.php file and then download the latest development copy of Car Demon from the bottom of this page: https://wordpress.org/plugins/car-demon/advanced/

    Make sure you’re using the development copy with this snippet, the current public release doesn’t have the tag in it that’s being used in this snippet for the field replacement.

    You’ll also need to style this with some CSS, but it should get you started in the right direction.

    /**
     * Create our filter function to add a location search field to all vehicle search forms
     * 
     * @param - $form - the current search form
    */
    function cdls_search_form_filter( $form ) {
    	//= Get the Car Demon Settings
    	global $car_demon_settings;
    
    	//= Start building the form we want to add
    	$location_field = '<div class="cd_location_box">';
    		$location_field .= '<label>Location</label>';
    		$location_field .= '<select name="search_location">';
    			
    			//= Add a couple default fields - depending on the site one or both could be removed
    			$location_field .= '<option value="">' . __( 'ALL', 'car-demon' ) . '</option>';
    			$location_field .= '<option value="">' . __( 'Default', 'car-demon' ) . '</option>';
    	
    			//= Get the <option> tags for our taxonomy
    			$location_field .= car_demon_get_my_tax( 'vehicle_location', 4, $car_demon_settings );
    	
    			//= End the new location field	
    		$location_field .= '</select>';
    	$location_field .= '</div>';
    
    	//= Check to make sure our "<!--start form fields-->" tag exists
    	if ( strpos( $form, '<!--start form fields-->' ) ) {
    		//= Replace <!--start form fields--> with the custom field we made above
    		//= Make sure we include <!--start form fields--> before our new field
    		$form = str_replace( '<!--start form fields-->', '<!--start form fields-->' . $location_field, $form );
    	}
    
    	//= Return our modified form
    	return $form;	
    }
    
    //= Add our filter
    add_filter( 'cd_search_form_filter', 'cdls_search_form_filter', 10, 1 );

    On a side note, you might want to skip using “taxonomy” pages and just create ‘dealer’ pages using the [cd_inventory] shortcode. You can filter it by location.

    If you can share a link to your site we can take a look at that mileage issue you mentioned.

    Best wishes,
    -j

Viewing 1 replies (of 1 total)
  • The topic ‘Search/Filter by location’ is closed to new replies.