Designs & Code

Design, Development and WordPress

search_slide[1]

Posted by & filed under CSS, Development, HTML, PHP, Plugins, WordPress.

WordPress Search & Filter is a simple search and filtering plugin.  It is essentially an advancement of the WordPress search box, adding taxonomy filters & post filters to really refine your searches.

You can search by Category, Tag, Custom Taxonomy, Post Type or any combination of these easily – you can even remove the search box and simply use it as a filtering system for your posts and pages.

After my own requirements of needing some granular filters applied to my searches I tried a few free plugins online and found none quite did what I need, there are many plugins that enhance the search box, and there are others that allow filtering of taxonomies but none that combine the two and are free (as far as I can tell).

The best free plugin I found was the Query Multiple Taxonomies Plugin - however it did not allow you to search at the same time as applying the filters.

And so the Search & Filter plugin was born:

 

Download Wordpress Search & Filter

Grab the download any of these sources:

WordPress Plugins GitHub

How To Use

To display Search & Filter all you need to do is a use a shortcode:

[searchandfilter fields="search,category,post_tag"]

This will display a search box, a category dropdown and a tag dropdown. You can use the shortcode within posts/pages and widget areas.

To use this within a theme file you simple need to call the `do_shorcode` function with the shortcode above within the theme file:

<?php echo do_shortcode( '[searchandfilter fields="search,category,post_tag"]' ); ?>

Documentation

Official documentation can be found on our docs site which contains usage examples and advanced settings & features.

Screenshots

Need More?

Get the pro version:

  • Search with Ajax :)
  • Filter by Date, Author & Post Meta / Custom Fields
  • Sort results by Post Meta / Custom Fields
  • Range Sliders and Range Fields for Meta Data
  • Drag and Drop user interface – makes it incredibly easy to build a granular search form
  • Works with WooCommerce, Advanced Custom Fields Plugin & more
  • Dedicated Support

Find out more

Links

Official Documentation
- WordPress.org Plugin
- Github Project

172 Responses to “WordPress Search & Filter – A Simple Search and Filtering Plugin for Taxonomies”

  1. James

    Hey there,

    Just wanted to say great job on the plugin, I had run through the same gauntlet of plugins as yourself and none of them were up to scratch. Your solution is simple and super effective! Thanks a bunch! :D

    Reply
  2. Lee

    Hi, I started using your plugin and I’m making some progress towards my goal. It was working better earlier but I did an update and some progress got undone.

    My problem is that I want a label beside the dropdown box to help users select instead of it just saying All Locations, for example. After the update the word Locations has disappeared and just the word All is left which is not informative :( Can you help me fix it?

    Reply
    • Hi there Lee

      Sorry to hear your having a problem. This plugin has never supported having a label next to the dropdowns (it will happen in future) but I think the problem you are describing is due to an update as documented on Github (should also put this on the official plugins page) – in one of the updates, the way the dropdowns are created has changed.

      When using a custom taxonomy the plugin used to use the following string:

      “All +`taxonomy->name`”

      However I realised this was actually incorrect. When registering a custom taxonomy you have the option to fill in a label for “all_items” – this is a label used when referring to all the items of a taxonomy, for example, for tags it is “All Tags” and for post Format it is just “Format” – which the plugin now uses. This is the correct way to use a taxonomy and gives you much more flexibility with the labelling, because sometimes you do not want it to say “All”.

      It sounds like you did not fill this in properly. Please see the wordpress codex section on registering taxonomies – and look under “arguments” to see the “all_items” argument I am referring to.

      If you have used a plugin to register a custom taxonomy this info can normally be found under advanced settings.

      Let me know if this helps? Thanks

      Reply
  3. Lee

    Cheers Ross! That worked a treat! I was using Ultimate taxonomy manager and found the ALL_ITEMS thing there.

    There is one other thing. I’m using 2 drop boxes at the moment. If I leave both fields blank then the search doesn’t return any results. How can I either a) get it to show an error message and tell the user to select something or b) just list all posts related to the search.

    Thanks again mate!

    Reply
    • Glad that’s helped you out, going to stick this info in the FAQs :)
      Re the results page, can you tell me, if you go to your homepage and add “?s=” – without the quotes, to your website address (eg “www.yoursite.com/?s=”), do you see the kind of page you are talking about? Putting this is the URL basically tells wordpress that you have performed a search with no search term which basically should return all your posts…? Let me know would be good to find out.
      There is a big update coming today which includes this and a few new things ;)

      Reply
  4. Cale Lee

    Many thanks for this great plugin!
    It deserves a very good rating in the WP plugins directory!

    I have three different dropdowns, each one for a different taxonomy, but all three taxonomies are related to a single custom post type.

    The plugin works perfect when selecting a value for each taxonomy, but when in the three dropdowns “all %name-of-the-taxonomy%” is selected, it shows all the posts of my site: the uncategorized ones, and the ones that have taxonomies not related with this custom post type…

    I just want to show results for this specific custom post type, in other words, when I select “all…” in the three dropdowns, it should show only the posts with at least one of this taxonomies, but not posts that don’t have any of these taxonomies…

    Any ideas?

    Many thanks!

    Reply
    • Hi Cale, the plugin works so that it uses the built in search functions of WP without modifying any queries (just url modifications) in order to display your search results. Modifying the default search behavior is kind of out of the scope of this plugin, I may include such functionality in the future. Hopefully I can help anyway:

      If you have 3 dropdowns for custom taxonomies, when searching they will be used, and because they are all for a specific post type, selecting one of them will only ever return results for that custom post type.

      However, if you leave them all blank, or set them to “All”, WordPress carries out its search with no constraints – it will return everything. If you do not want your searches to return all posts (or the default post types for search results within your theme/setup) then you need to modify the search query, and add/exclude the post types you want to display when a search has been performed.. This is not tested but is the general idea:

      function filter_search($query) {
      if ($query->is_search) {
      $query->set('post_type', array('post', 'custom_post_type')); //here we set the post types that we want WP to search
      };
      return $query;
      };
      add_filter('pre_get_posts', 'filter_search');

      You can add this in your themes `functions.php`. This will in effect modify your search query with the post types you want to see, in this example all searches would only display post types of `post` and `custom_post_type`.

      Let me know if this works, and if you like please leave feedback over on the plugin page :)

      Reply
  5. Cale Lee

    Hi Ross, many thanks for your quick answer.
    I try it, but it doesn’t work…
    But I make some tests, and I’ve seen that:
    - It actually works when activating the search box (it was hidden so it makes no sense in my particular case) and I perform a search writing something.

    I’ve used the wp-types plugin to create the CPT, I don’t know if this is relevant.

    Also I’ve seen that when doing the multiple search with the 3 dropdwons in “all” mode, the results only show the regular posts, but none the CPT ones.

    in effect, selecting only one of the parameters, and leaving the other in “all”, the results are restricted to that particular CPT.

    Thanks for you help!

    Reply
    • Ahh I see what is happening…. basically when the URL has a `?s=` then `$query->is_search` is set to true, so if you removed the `if` statement, your whole site would only return posts of the types you selected below.

      We need to make this `if` statement work for all the pages you are seeing your results on, so if you submitted a search without a search term you might land on a page like:

      `www.yoursite.com/?customtaxonomy=taxonomy1`

      To make the post type filters work on this page also, you might have to do something like:

      if (($query->is_search)||(is_tax()) {
      $query->set('post_type', array('post', 'custom_post_type')); //here we set the post types that we want WP to search
      };

      This means the post type filters would work when you have performed a search or on an taxonomy page. Come to think of it, it is entirely possible you might land on a category page, tag page, or a taxonomy page, or a search query… so a more comprehensive example should be:

      if (($query->is_search)||(is_category())||(is_tag())||(is_tax())) {
      $query->set('post_type', array('post', 'custom_post_type')); //here we set the post types that we want WP to search
      };

      Remember this is untested ;) Just to let you know, from your post, I am making modifications right now to the plugin, so you can simply set the post types in the shorcode ;) Should be live in the next hour or two! :D

      Reply
  6. Cale Lee

    Hi Ross,
    thanks for your time again!

    It doesn’t work… It’s driving me crazy… Your explanation is very clear, and also looking in other forums about restricting search queries, I found the same or similar instructions as yours.
    I’m thinking on it, and maybe the wp-types plugin is making some interaction? I don’t know.
    I will try it again, when these modifications that you are making to the plugin, have been done.
    Many thanks again! I’ll be looking for the update!

    Reply
    • Hi Cale, the update is now live! Take a look online or via WP, there should be some instructions in WP settings page for the new option, I need to update the online documentation but it looks like what you need to do in your shortcode is:

      [searchandfilter taxonomies="custom_taxonomy_one,custom_taxonomy_one" type="select,select" post_types="post,page,custom_post_type"].

      :) Let me know how you get on!

      Reply
  7. Cale Lee

    Perfect Ross!
    Now it works perfectly!
    Many thanks for your time.
    You have my review on the plugin page. ;-)

    Reply
  8. Cale Lee

    Hi again Ross,
    is there any way to specify the template used to show the results list?
    Thanks!

    Reply
    • Hi Cale unfortunately not, there should only be a finite number of templates used in the WordPress template hierarchy, which I think in the case of this plugin are limited to: Category, Tag, Taxonomy & Search, so you would likely need to modify these templates pages if you are looking at customising the results pages. There are too many variables between themes and plugins that something like this would likely conflict with so I’m not sure I would include this feature in the future.

      Out of curiosity, could you give me a use case for this, so I can get a better understanding of why & how someone (ie you!) would need this?

      Reply
  9. Mounir

    Hi Ross,

    I think Lee was refering to search templates used by the theme.
    In my case for example, when I use one of the built-in taxonomies of the theme in the search, it returns the results in the wanted themes’ template, but when the no value is selected in the dropdown or only values from taxonomies I have added through Ultimate Taxonomy Manager, it return the results as regular posts and not as Listings. The results it show are correct but it doesn’t use the right template to show them.

    One solution for my issue would be to be able to specify a default value for one of the taxonomy dorpdowns and even if possible, exclude the “All items” value from that dropdown.

    Could you help me on this ?

    Reply
    • Hi Mounir, thanks for the message, does appending a `?s=` (a blank search) to one of those URLs help to force load a results page rather than just a listing page?

      I am testing everything on WP 2013 theme, and these different pages look the same, a blank search term doesn not seem to load a search results page, however the blank search (`?s=`) may force load the results page in your theme?

      Let me know :)

      Reply
  10. arnaudov

    Hello Ross,

    So far the best search/filter plugin that I could find. I install it but don’t know how to configure it. Is there an option to make limited search through my Public Post Types? For example: I have two CPT and I need to make selection where to search. And the final result in front end should look like:

    Search Field
    Categories [select]
    Page [checkbox]
    Post [checkbox]
    CPT1 [checkbox]
    CPT2 [checkbox]
    Search [Button]

    Thanks.

    Reply
    • Hi Arnaudov

      I need to update this blog post to the current version and also to link to the new docs, which you can also find in the plugin admin panel – http://docs.designsandcode.com/search-filter/

      Hopefully this should help you out…. The shortcode you are looking for would be something like this:

      `[searchandfilter taxonomies="category,page,post_tag,cpt1,cpt2" type="select,checkbox,checkbox,checkbox,checkbox" search="1" submitlabel="Search"]`

      To control specifically the post types that are searched using the widget you would also need to add `post_types` (currently undocumented):

      `[searchandfilter taxonomies="category,page,post_tag,cpt1,cpt2" type="select,checkbox,checkbox,checkbox,checkbox" search="1" submitlabel="Search" post_types="post,page,customposttype,customposttype2"]`

      Let me know if this works?

      Thanks

      Reply
  11. Kamil

    Hello, I use the plugin wp catalogue and i want to do filtering by brand, but it does not work. I have created my own custom field called product_marka (all brands, brand A, brand B). Wp catalogue does not have a service tag, can I use the plugin wp search and filter for filtering of products in the plugin wp catalogue, by own field?

    Reply
    • I’m not familiar with WP Catalogue, does it create custom taxonomies? If you go to the plugins admin tab (Search & Filter) you should find a table with all your public taxonomies, is the field you want to filter by listed here? :)

      Reply
  12. Michiel

    Hi!
    Excellent plugin.
    One question though: would it take much tweaking to loose the ‘submit’ button and auto-submit and refresh at every new checkbox clicked/ticked?

    Reply
    • This shouldn’t be too difficult in principal just using JS and CSS, first hide the submit button using css, if you look at the documentation in the admin section you can give your Search & Filter widget a class, so if I named the class something like “sfclass” I would use css like:


      .sfclass input[type=submit]
      {
      display:none;
      }

      Then you want to use some Javascript to detect any change in the form and perform a submit… I guess it depends a little on what you have but using jQuery it would be something like:


      $('.sfclass input').change(function() {
      // Something has changed
      $('.sfclass').submit()
      });

      This code is untested, but should detect any change in the form and submit the form immediately… if you wanted this to only work on checkboxes and dropdowns you would do something like:


      $('.sfclass input[type=checkbox], .sfclass input[type=select]').change(function() {
      // Something has changed
      $('.sfclass').submit()
      });

      Let me know if this helps :)

      Reply
  13. Michiel

    Hi Ross!

    Thank you for your quick reply!
    I succeeded in hiding the submit button, thus assigning a class to the ‘search and filter’ widget.

    I tried implementing the few lines of Javascript but I’m probably not doing it the right way because my website’s content & sidebar doesn’t get displayed anymore.

    So my S&F widget gets implementend in my ‘sidebar.php’ with the shortcode:

    ‘echo do_shortcode( ‘[searchandfilter taxonomies="category,post_tag" type="checkbox,checkbox" search="0" submitlabel="Submit" class="sfclass"]‘ );’

    Where exactly do I put the:

    $(‘.sfclass input’).change(function() {
    // Something has changed
    $(‘.sfclass’).submit()
    });

    ?
    Inside the same sidebar.php, or somewhere else? Also, do i need to tell my sidebar.php that there’s going to be some javascript?

    Sorry for the, perhaps, simple questions but I’m quite new at this.

    Thanks, again, in advance!

    Reply
    • Hi Michiel

      I’m sure your theme uses a javascript file somewhere which handles all of the javascript for that specific theme, you will want to add it in to that.

      For example, in the default wordpress 2013 theme there is a file at `js/functions.js`, I would add the code in here after `( function( $ ) {` and somehwere inside this bracket. To be honest what your asking for is a bit out of the scope of support for this plugin.

      You really should get familiar with jQuery (and where to place jQuery code) and also how to load javascript in to your wordpress theme (http://codex.wordpress.org/Function_Reference/wp_enqueue_script) although this is all probably a bit confusing… I would just say for now paste the code in to a JS file within your theme, if you want to send me a link I could probably tell you which file?

      Thanks

      Reply
  14. Zygotti

    Thank you very much for this plugin. I’m yet another who’s investigated many search plugins without finding one that filters results in the way I wanted – this one does!

    I do have one minor quibble though – since it doesn’t filter by post date (are there plans to add this btw?) it’s convenient to have search results ordered by date. Usually this is the case but I’ve noticed that some searches (by category and tag) give results that are not always in complete date order. It’s not my theme and it’s not other plugins – any ideas?

    Thanks again.

    Reply
  15. Ole

    Thanks a lot for the useful plugin!
    What about adding “author” to the taxos?
    Greetings, ole

    Reply
  16. Mohammed

    Ross…seems like a fab work ..Iam going to use and rate your plugin at my site where i need to search my listings. Iam creating a real estate site where i want 3 dropdowns(preferably 4) First dropdown with set of categories related to property type, and then another with set of categories related to price and so on. Somewhat similar to that which is on this site http://www.realestateindia.com/ Am I doing somethin wrong in the process. Is it possible to have specific sets of categories listed?

    Reply
    • Hi Mohammed

      This sounds like exactly what the plugin is used for, except the different “categories” you mention are in fact “taxonomies” (which includes categories, tags and custom taxonomies). For pages/posts/custom post types, you can set up all these different variables using a combination of taxonomies to create filters for all kinds of things (price, colour, size etc( – you can do this programatically or you can use a plugin like Ultimate Taxonomy Manger to create them for you.

      Once you’ve set all this up and have your taxonomies working for you in the way you want, you can use this plugin to create filters for each taxonomy (checkboxes, radio buttons, dropdowns etc) – just take a look at the docs for usage examples – http://docs.designsandcode.com/search-filter/

      Hope that helps

      Reply
  17. Carlo

    Hi,
    I use thesis 2.1x framework
    when i add this shortcode for example in my home page template it will display nicely (didn’t add styling yet) but it does not provide output

    so i can search the hell out of it :-) but i get no results… i think it should have to show the “search result” template page won’t it?

    (i also tried the advanced wp query search plugin and that automatically does do that… but i’d like to try different plugins before i choose)

    Reply
    • In its simplest form, this plugin does the same as what the built in WP search functionality does – is there already a search box in your theme? how does this work?

      if you type in “www.yoursite.com/?s=test”, in most themes, and the standard way WP works, this URL tells wordpress you are searching for a search term “test”, does a URL like this provide any results? I would likely think that there is an error or conflict somewhere, as this plugin handles basic searches the same way as WP does when it comes to search terms (ignoring taxomonies and filters) – basically, the plugin itself does not do any “searching” but makes a nice URL like above so it can tell WP to perform its search.

      Let me know on the above and I’ll try to help you out a bit more.

      Reply
  18. Mohammed

    That worked like a dream . Thank you so very much Ross. I used a Simple Taxanomy to create seperate taxonomies and then searched them using the plugin. Thank you so very much.

    Reply
  19. Ritch

    Hi, Ross. This is a great plugin – thank you. I have a question related to Cale Lee’s question earlier in the thread. Basically I’m using your plugin to filter ‘Courses’ my clients’ company offers. I’m using a custom post type to enter the courses (as they’re added as posts so I can tag / categorize them). However, the results the filter returns are displaying on the archive template, rather than the custom archive I’ve built. This in itself isn’t such a massive problem, but the archive page excerpts link to the courses within the theme’s generic ‘single’ template, and not the custom single template I’ve built. This is an issue as I have a specific layout for the course pages. So, in a nutshell, is there a way of specifying what template the results are called to? Or am I being a complete dumbass and missing something?

    As I said, this is a cracking plugin – you’ve done a great job creating something so effective (that perhaps should really be in the WP core) and I’ll be giving you a high rating regardless of your answer to the above query.

    Cheers,
    Ritch

    Reply
    • Hi Ritch, thanks for the message, yeah this is something that I didn’t think there was a huge need for but as its come up a few times I’m going to have to look at this sooner rather than later :) I haven’t started this functionality yet but plan to do so in one of the next releases!

      Thanks

      Reply
  20. Ashish

    Hello,

    This plugin is really great :)

    But I would like to do a little modification concerning the drop down list.

    Well I am running a directory listings website under localhost. The drop down list shows only categories that a listing is assigned to them, but not showing empty categories. I want it to display all categories whether it is empty or not.

    Any help please.

    And I would like to add one more thing, is there any way to customize the submit button, rename the text, add a color to it or an image.

    Thanking you in advance!

    Reply
    • Hi Ashish, this plugin does not support this option yet but if you want to modify the plugin to do so search for the following line in `search-filter.php` (approx line 779):

      `$taxonomychildren = get_categories(‘name=of’.$taxonomy.’&taxonomy=’.$taxonomy);`

      and change this to (untested):

      `$taxonomychildren = get_categories(‘name=of’.$taxonomy.’&taxonomy=’.$taxonomy.’&hide_empty=0′);`

      To customise the submit button just use standard css and target the submit button (it is a standard input) – you could add a class to the shortcode to make targeting it easier (ie, `class=’searchandfilter-class’` – see docs) and then use css to change the styling:

      `
      .searchandfilter-class input[type="submit"]
      {
      background-color:#000;
      color:#fff;
      border:1px solid #666;
      }
      `

      To add a label, use the option “submitlabel” as mentioned in the docs also.. Hope that helps

      Reply
  21. Chris Sloan

    How do I change the labels of the public taxonomies? I want to change Categories to read Drink Types and Tags to instead read Flavors. Is that possible? Thanks!!

    Reply
  22. Chris Sloan

    Ahhh…that’s too bad! No way of me changing it in the plugin editor I guess? In the link you sent me I can’t figure out where to access the Taxonomies in my wordpress theme/install. Do you know about when the update of the plugin that would allow this would be available? Thanks so much for your help Ross!

    Reply
  23. Chris Sloan

    found an easy way to do it…download a plugin called Custom Taxonomies. Once created the Search and Filter plugin finds it and creates the option for creating a label for it.

    Reply
  24. Ritch

    Hi Ross,

    Thank you for your reply. If you’d like any beta testing doing for this functionality do let me know and I’ll be happy to help in any way I can :)

    All the best!

    Ritch

    Reply
  25. clestcruz

    Hi is there a way i can customize the dropdown with only a specific number of category.

    The dropdown is showing all the categories but i only want it to show a specific categories

    Reply
    • Hi Clestcruz, unfortunately you cannot include/exclude categories or taxonomy terms – by default it shows all.. This is something I am looking at bringing to a future version

      Reply
  26. clestcruz

    I have tried even using CSS using nth-child but the problem the default is still showing “All Categories”. Looks like i have to do this using javascript. By the way great work on the plugin :D

    .filter ul li:nth-child(1) select option:nth-child(1){display:none !important}

    Reply
  27. clestcruz

    I managed to find a temporary solution using this -

    $(“.filter ul li:nth-child(1) select option:nth-child(1)”).text(‘Sort Location’);

    $(“.filter ul li:nth-child(2) select option:nth-child(1)”).text(‘Sort Area’);

    My next problem is that whenever i press the submit button

    The 1st select tag will show the default value of the 2nd select tag once the plugin has been executed. Hmmm

    Reply
    • Hi Clestcruz, unfortunately providing support for that is out of the scope of what I can do, I would try asking in Stackoverflow as it’s mostly as JS related question. I will be adding this functionality at some point to the plugin but no idea when I will be doing this..

      Thanks

      Reply
  28. clestcruz

    No problem, for the meantime i’ll be playing with it for a little while and try to find a way to achieve the results that i want :)

    Reply
  29. Ashish

    Hello,
    Thanks Ross for the help, it works :)
    But I am having another problem now, something like a conflict I think, when I log in or log out, I get this error message:
    ‘Warning: Invalid argument supplied for foreach() in C:xampphtdocsmywebsitewp-contentpluginssearch-filtersearch-filter.php on line 335′
    I am working under localhost.
    Any solution for that, why this error.
    Thank you!

    Reply
    • Hi Ashish, I’ve just updated the plugin to v 1.2.0 so hopefully this problem is resolved.

      Just to note, there are some major changes in the update so please see the changelog before upgrading to see if you need to rewrite any of your shorcode.

      Also, please refer to the docs to see how you can further make customisations – http://docs.designsandcode.com/search-filter/#options

      Let me know how it goes, thanks

      Reply
  30. ken N

    Hi.

    Thanks for the great plugin. I am usiing it on a site with WP 3.7 the Bones theme by Eddie Machado.

    I have createed a custom post type “resource” and a custom taxonomy “resource categories”. Additonally I made 2 templates called taxonomy-resource_categories.php, and archive-resource.php to display all categorys and single categories differently.

    The search and Filter dropdowns are hardcoded in the archive-resource.php template.

    All menus are custom menus.

    Since I want all “searches” on that page to use the same template, I had to override the default WP functionality by adding conditional code at the top of my custom taxonomy templates. I simply includes the archive-resource.php file if $_GET['post_types']==’resource’.

    But when I do that the menus disappear when search results are returned. If I deactivate the plugin and refresh the page, the menus re-appear. No PHP warnings or errors are thrown.

    The correct custom posts do show though.

    Any ideas?

    thanks
    Ken Nawrocki

    Reply
    • Hi Ken, I think this may be a conflict perhaps with another plugin that uses the `post_types` var… try disabling all other plugins and see. Do you have a link I could look at?
      Thanks

      Reply
  31. Francesco G

    Hi There

    I am looking to make a filter for a custom taxonomy I have made in my sites function.php file but the drop down filter does not appear when I put the short code on to the page.

    This is the shortcode I am using
    [searchandfilter taxonomies="category, post_tag, Manu" type="select,checkbox"]

    And this is the code for my custom taxonomy

    add_action( ‘init’, ‘create_Manu_taxonomy’, 0 );

    function create_Manu_taxonomy() {

    $labels = array(
    ‘name’ => _x( ‘Manu’, ‘Manu’ ),
    ‘singular_name’ => _x( ‘Manu’, ‘Manu’
    ),
    ‘search_items’ => __( ‘Search Manu’ ),
    ‘all_items’ => __( ‘All Manu’ ),
    ‘parent_item’ => __( ‘Parent Manu’ ),
    ‘parent_item_colon’ => __( ‘Parent Manu:’ ),
    ‘edit_item’ => __( ‘Edit Manu’ ),
    ‘update_item’ => __( ‘Update Manu’ ),
    ‘add_new_item’ => __( ‘Add New Manu’ ),
    ‘new_item_name’ => __( ‘New Manu Name’ ),
    ‘menu_name’ => __( ‘Manu’ ),
    );

    register_taxonomy(‘topics’,array(‘post’), array(
    ‘hierarchical’ => true,
    ‘labels’ => $labels,
    ‘show_ui’ => true,
    ‘show_admin_column’ => true,
    ‘query_var’ => true,
    ‘rewrite’ => array( ‘slug’ => ‘Manu’ ),
    ));

    Please point me in the right direction

    Many thanks
    Fran

    Reply
    • It looks like you have a typo, in your shortcode you have:
      `
      taxonomies=”category, post_tag, Manu”
      `

      I’m guessing you shouldn’t have a space before “Manu” and “post_tag”, I would also try setting it to use all lowercase so

      `
      taxonomies=”category,post_tag,manu”
      `

      Let me know if this works… If you’re not sure go to your wordpress admin and goto the Search & Filter page, in there it should list your taxonomy and the term to use.

      Thanks

      Reply
  32. Shua

    Great plugin – so far it has saved a ton of time. One question: How can I add custom fields to the search query? Not individually, just search the regular stuff + any custom fields as well?

    Reply
  33. efrat

    I’m getting this error, please advise:

    Warning: Invalid argument supplied for foreach() in xxx/wp-content/plugins/search-filter/search-filter.php on line 335

    Warning: Cannot modify header information – headers already sent by (output started at xxx/wp-content/plugins/search-filter/search-filter.php:335) in xxx/wp-admin/post.php on line 222

    Warning: Cannot modify header information – headers already sent by (output started at /usr/home/lemondraft/public_html/lemondraft.pairserver.com/wp-content/plugins/search-filter/search-filter.php:335) in /usr/home/lemondraft/public_html/lemondraft.pairserver.com/wp-includes/pluggable.php on line 899

    Reply
    • Hi there I’ve just updated the plugin, please check with the new version :)

      Just to note, there are some major changes in the update so please see the changelog before upgrading to see if you need to rewrite any of your shorcode.

      Thanks

      Reply
  34. Way

    Hi Ross!

    1. Can you tell me how to change the default text in the search box “Search…”, “All Categories” and “All Tags” to something else?

    2. How to adjust the width of the search box?

    Many thanks!

    Reply
    • Hi there I’ve just updated the plugin, please check with the new version :) There is an attribute called `search_placeholder` which will allow you to change the default text in the search box!

      To adjust the search box, you just need to apply some styling to it with css… you can try something like this (untested)

      `
      .searchandfilter input[type=text]
      {
      width:300px;
      }
      `

      Just to note, there are some major changes in the update so please see the changelog before upgrading to see if you need to rewrite any of your shorcode.

      Also, please refer to the docs to see how you can further make customisations – http://docs.designsandcode.com/search-filter/#options

      Thanks

      Reply
  35. Way

    Hi Ross!

    I tried the new version, it is working well. Bravo! I tried changing the width of the search box, it is working fine too.

    However, I am not a technical person, I have no idea what is “search_placeholder” and where I can find it and how to change it. Could you please elaborate further on this?

    Also, Could you let me know how to change the default “All Categories” and “All Tags” to something else?

    Thanks in advance.

    Reply
  36. Tracy

    Hi Ross, many thanks for a great plugin! :) I’ve just added the post-types=”” option to your shortcode and it returns all the posts with the post type I’ve specified but it also makes my menu options disappear. If I remove it. searching without selecting any parameters doesn’t bring anything back but the menu remains. Any help would be much appreciated. I have disabled all the plugins I can without the custom post type disappearing.

    Reply
    • Hi Tracy.. I’ve come across this bug too. The problem is the plugin is overriding all queries and limiting the post types to the ones you have selected (even the query to generate your navigation!). I’m working on a fix for this and should be available hopefully in the next 24hrs :)

      Reply
  37. Way

    Hi Ross! Thanks a million!

    Your suggestion is simple and it works! I have changed the text in the search box using “search_placeholder”. I am able to change “All Tags” and “All Categories” to whatever I want but it took me a long time to figure out what you meant. So, I hope you don’t mind I do a rewrite for those not so technical like me out there.

    Login to Cpanel >>> Click on File Manager >>> Find this file “public_html/XXX…/wp-includes/taxonomy.php” and edit (backup 1st) “All Tags” and “All Categories” to whatever you want and save it.

    ‘all_items’ => array( __( ‘All Tags’ ), __( ‘All Categories’ ) ),

    Reply
  38. Way

    Hi Ross!

    Updated with your newest version 1.2.2 this morning. Found one problem. When selecting all categories and all tags without entering any text in the search box, no result will be shown. It will function properly only some text is entered in the search box.

    Reply
    • Hi Way

      Can you send me a link? This is not happening on my version. The only change I have made here, is that if the search is blank, that it will load the search template, sometimes, depending on the theme it would load the homepage.

      One thing I would try is to clear you cache too, there are some new hidden form elements added so just make sure those are being loaded properly.

      Thanks
      Ross

      Reply
  39. Way

    Hi Ross!

    1. The 1st link is version 1.2.0, it is working fine.
    http://goo.gl/QzSmIQ

    2. After the update, searching for “All Categories” and “All Tags” will not return any result.
    It works again after I reverted back to version 1.2.0. (For your testing, now it is version 1.2.2).
    http://goo.gl/Spu9nr

    Both sites are still under testing. Thanks.

    Reply
  40. Way

    Hi Ross!

    After several testing, I found out that version 1.2.2 may be conflicting with one of my plugins (the previous versions were compatible).

    After I disable that plugin (although I lose some functionalities, e.g. Bolding of keyword in the search result), it is working fine again.

    I am sorry. I guess I wouldn’t say exactly that the new version got a problem when it can still work after I disable other plugin.

    I think it would be nice if, in your next update, you can include the function that would highlight or bold the keywords in the search result. Thanks!

    Reply
    • Hi Way

      I think I know what may be the problem :/ Basically in the new version there is some code to try to force load the search template which I think may be interfering… I’m going to do an update today, so you will have an option to enable/disable this – so basically you can use the new version, with the old setting so it doesn’t interfere..

      Can you tell me the name of the plugin you are using that is causing the conflict?? I would like to do some testing :)

      Thanks

      Reply
  41. Way

    Hi Ross!

    The Plugin I use together with Search & Filter is Relevanssi. When both are activated, the Search & Filter will return results with bolded keyword. Again I hope you will include this in your next update, so I and probably a lot of other users too won’t have to use other plugin just for this purpose.

    Thanks again for this very simple yet great plugin.

    Reply
  42. neal

    Hey great plugin. But I want to populate 2nd dropdown based on selection in 1st dropdown menu. How I can do it?

    e.g.
    in 1st dropdown-list of country-US,UK,france

    when I select on US, in 2nd dropdown it should show state of US only

    so in 2nd dropdown- Arizona, Texas,Newyork etc.

    Please provide solution as soon as possible

    Reply
  43. deniz hernandez

    I can’t get that multiple drop down in the side widgets… What am I doing wrong?

    Reply
  44. Tony Oravet

    This plugin is awesome! Quick question: Is it possible to limit specific categories in the shortcode? I’m wanting to use this feature to only search through specific categories. Thanks for any help you may be able to provide.

    Reply
  45. Wes

    Love the plugin, works great! but i was wondering if there were any plans in the future for adding the “for” attribute to the ‘s corresponding to checkbox and radio button’s ids? ie: I tend to like the flexibility of using an unordered list with checkboxes instead of a few examples of what i’m talking about: http://codepen.io/onediv/pen/ngude and http://codepen.io/Merri/pen/HhiKx
    anyways, thanks again for the fantastic plugin!

    Reply
    • Hey Wes, this looks like something I might build in to the plugin in the future, however its not likely I’ll build in support for external scripts like this unless they are standardised in some way or are really popular :/

      Thanks for checking out the plugin :)

      Reply
  46. Jos Schuurmans

    “(…) you can even remove the search box and simply use it as a filtering system for your posts and pages (…)”

    I should probably get some sleep, but this is the one I’m having trouble understanding. How can I display search results without offering the search field first? Sounds like a great feature though…

    BTW, great plugin, Ross! Thank you so much. I will submit a postitive review to the wordpress plugin directory.

    Reply
  47. Justin

    Awesome plugin! just what I’m looking for. One issue, however:

    I have a CPT: ssbd_birds
    and 2 tax: ssbd_birdtypes, ssbd_regions

    I have custom templates used for archive-ssbd_birds, taxonomy_ssbd_birdtypes, and taxonomy-ssbd_regions.

    the search and filter works perfectly everywhere except from the archive-ssbd_birds template. Do you know why this might be?

    archive-ssbd_birds template: http://wildbirddigest.com/birds/

    it works everywhere else (including all taxonomy pages , ie: blackbirds)

    any tips greatly appreciated.
    Thanks!

    Reply
    • Hey Justin, looks like the template might not be kicking in?

      You’ve named your two templates differently –

      `
      taxonomy_ssbd_birdtypes
      taxonomy-ssbd_regions
      `

      One is using a hyphen, and one using an underscore? ;)

      Reply
  48. Steve

    Hi,

    This is probably the best search filter plugin I’ve found so far.

    I was wondering if there was a way to exclude certain category or tag IDs. Also, for the drop-down, can we rename the first item to something else other than “All Categories” or “All Tags”?

    Reply
  49. M. Jacobs

    Hey all,
    Great plugin! I have one question though. I tried to insert it in a page template. When I use the simplest shortcode there is no problem. As soon as I try to add headers for the search boxes ans a different text for the submit button (using shortcode: [searchandfilter fields="category,post_tag" submit_label="Filter" headings="steden,u wilt…"] ), it stops wordking. Is it only posible to insert the simple shortcode or am I overlooking something? Thanks in advance! Grts, M.

    Reply
  50. Georgia

    Hello!

    Great plugin thanks.

    I’m using the checkbox option:

    [searchandfilter fields="category" types="checkbox"]

    I was wondering how to remove the “—” mdash before the checkbox?

    Thanks

    Reply
  51. portugal massage

    Hello.
    First let me say this is a great plugin.
    But I´m having trouble with the widget size. My theme is responsive so I don´t know if that´s a problem. I don´t understand anything off css, could you help me teeling me the css code for automatic adjust in the widget area. I´m sorry if my english isn´t very good.
    Regards
    Portugal Massage

    Reply
    • Hey there, unfortunately I can’t help too much with different users css/themes but I’ll give you a pointer – hopefully this CSS will do what you need:


      .searchandfilter
      {
      width:100%;
      }
      .searchandfilter ul, .searchandfilter > ul li, .searchandfilter input[type=select], .searchandfilter input[type=radio], .searchandfilter input[type=multiselect], .searchandfilter input[type=checkbox], .searchandfilter input[type=text]
      {
      display:block;
      width:100%;
      }

      It makes sure that the form is 100% width of the container at all times, so if you are on a responsive theme the elements should hopefully resize to keep inside the container – if it doesn’t work I’m afraid you’ll have to get practising with CSS!

      Thanks

      Reply
  52. george

    Great plugin……….how can you make a search with the results only for post_tag? Currently, you have a dropdown option of all the post_tags…..but how can you have a regular search box to only search post_tags without the use of the drop-down?

    Reply
    • Hi George, unfortunately the plugin doesn’t support being used like that – it builds a form for searching, which allows you to restrict the search to specific categories/tags/taxonomies, but it doesn’t support constraining a search to a specific type only – it does however allow this with custom post types.

      Thanks for checking out the plugin :)

      Reply
  53. ALIBERT

    Hi Moss,

    Great job, thank you very much !
    I’ll send a ticket about your plugin to my french circle !

    Actually, the plugin only gives exact result if we check several matches.
    How can we give an approximative result, from exact match to approximate match.
    For example, search post by checking tags to give, first, posts with all exact tags followed by posts with some exact tags to finish by posts with only one of correct matches.

    thanks for help.

    Reply
  54. Jillian

    Hi there,

    Your plugin is great! Although it doesn’t seem to properly filter specific selections. For example; I have three taxonomies: manufacturer, year, condition. When I pick a manufacturer, then a year and a condition (new or used) it doesn’t filter out all the other years, instead they all show under that manufacturer name.

    But if I filter by the year and condition it works great.

    Here’s a link to the website for you to review: http://thetoybox.ca/wordpress/
    Search area under the main image.

    I am using Types for my CPT. Maybe I set something up wrong?

    Reply
  55. Joseph B

    Is there a way to
    - Not have “All Posts” as a viable searchable option? Like if the submit button didn’t work unless a real option was selected? Because when it returns ‘/?s=’ it really screws with the ux.
    Thanks.

    Reply
    • Hey Joseph it wouldn’t be too hard to prevent a submit using jquery as an alternative, just use jquery to loop through the form variables on submit, and if any of the dropdowns are set to ’0′ then do not allow submit :)

      Reply
  56. Yael Reinhardt-Matsliah

    I’ve installed your plugin and it works great! Thank you. One question though — any chance that I might be able to remove category from the drop down list of categories? Probably not but thought I would ask. Thank you.

    Reply
  57. Simone Baglioni

    Thank you! Thank you! Thank you so much! I spent a lot of hours trying to find your plugin. It was the last missing part on the last site! Thanks again! S.

    Reply
  58. Vincent

    Hi Ross, awesome work thanks. I am having a small issue and I am not sure if it’s a bug that needs to be reported or if I am doing something wrong:

    I filter categories, tags and a custom taxonomy. All works well, except when the filter is set to search all (ie: no filtering). The resulting URL is http://www.mysite.com/?s= and weird things are displayed, but not all posts exerpts . Have a looks at http://take.ms/TG4yd. Anything I could do for this not to happen? Thanks,

    Reply
    • Hey vincent, head to line 1040 in search-filter.php and comment it out :) this is what forces a “?s=” on blank searches! thanks for checking out the plugin

      Reply
    • Ross

      Hey Tuomas

      Yeah I’m developing a completely new pro version which uses a drag and drop interface and will have support for custom fields…

      Should be ready hopefully in a week! If you’re interested leave your email here and I’ll notify you when it is released :)

      http://www.designsandcode.com/contact/

      Thanks

      Reply
      • Ross

        Tried all of what you suggested and ended up with the same pop up of my site with the 404 error. Not savvy enough to use the FTP.

        Reply
  59. yeahman45

    This is a great plugin! Is there a way to define my own template file? or is there already a template suggestions for the archive.php template? e.g. archive-search-filter.php?

    Reply
    • Ross

      Hey yeahman45

      Unfortunately there is not. I will be releasing a pro version of the plugin in the next couple of days, which is completely rewritten from the ground up which will allow for template selection as well as many other features. If your interested leave your email address over on our contact form and I’ll let you know when its ready – http://www.designsandcode.com/contact – I’m also sending out discount codes for anyone that registers their interest before it is on sale :)

      Thanks for checking out the plugin!

      Reply
      • yeahman45

        does this mean that you won’t maintain the free plugin anymore :( .. I liked the open source free philosophy of this plugin :(

        Reply
        • Ross

          Nope, I will continue to support and improve the free version, albeit at a slower rate – the source code will remain open source and open to anyone to improve.

          The problem is, the plugin started as a way to solve a problem I had, but, using only a shortcode as I have found out (this was my first plugin for WP) becomes very limiting – there are just certain things you cannot do with a shortcode as they only get processed once a page has already begun loading.

          The free version will remain in shortcode form, which includes all the limitations of that, whereas the pro version has a full UI and admin interface which allows it to be much more powerful.

          I get what you are saying about open source nature, which is why its staying that way, but this was always a part time project, the pro version however has been a full time project with the intention of providing more functionality and guaranteed support (its taken me months to develop so far).

          Any improvements I make to the pro version that will be compatible with the free version in shortcode form will be ported over as long as the shortcode doesn’t get too bloated! If you or any other developer feel like updating you can find it over on github and I’ll be sure to include any updates – as is the nature of open source!

          Thanks

          Reply
  60. yeahman45

    is it possible to add an action parameter for the ? so that submission and redirection is done on this action parameter?

    Reply
  61. Hey Ross,
    Thank you for this plugin, it is exactly what I was looking for. One question, is there a way to limit the search to one specific category only?

    Thanks!

    Reply
  62. It would be a great plugin if you are ready for multilingual users. Scheduled and non-existent or planned version for multilingual user?

    Reply
    • Ross

      Hey there unfortunately not –

      Normally the plugin will use something like `archive.php`, `category.php` but it depends on your theme which template the plugin is using. Once you have found the template that is in use, you can copy the code from `search.php` to the template (eg, `archive.php`) and the results should look the way you like :)

      With the pro version however it is much easier – you can choose any template you like :) (http://www.designsandcode.com/wordpress-plugins/search-filter-pro/)

      Thanks!

      Reply
  63. Kathryn

    The drop-down boxes are not showing any sort of border around the white space. Is there an easy way to add a thin black border so that they stand out on the page a little more?

    Reply
    • Ross

      Hi Kathryn

      You could try adding some CSS:

      `.searchandfilter select
      {
      border:1px solid #000;
      }`

      Thanks

      Reply
      • Kathryn

        Unfortunately, I added the CSS to the folder search-filter/style.css and it didn’t make a difference…Is there something else I can try?

        Reply
  64. Cheryl

    Hi, this plugin looks like it will work perfectly for my client’s site, but I want to put it in the header. I added this code to the header.php:

    And it looks fine (except I need to float it right), but when I do a search I get this error – and I saw that someone else above got it, too, but you responded that the plugin update fixed it. I have the latest version and I’m getting this error, unfortunately.

    Warning: Cannot modify header information – headers already sent by (output started at /home1/marlandc/public_html/dev.yama/wp-content/themes/basis/product.php:9) in /home1/marlandc/public_html/dev.yama/wp-includes/pluggable.php on line 1121

    Any suggestions on how to fix this? Thanks

    Reply
    • Cheryl

      Let’s try again leaving out the php stuff

      php echo do_shortcode( ‘[searchandfilter taxonomies="category,post_tag"]‘ )

      Reply
    • Ross

      Hewy Cheryl, it normally if there is output before the headers are sent this means there is an error in your code somewhere as there shouldn’t be – have you tried using a plugin such as Debug Bar and enabling debug mode in WP to find out what might be causing it?

      Thanks

      Reply
  65. Hi, I get this:
    Warning: Cannot modify header information – headers already sent by (output started at /home/deb83152/domains/easy-demo.nl/public_html/wp-content/themes/bridge/page.php:22) in /home/deb83152/domains/easy-demo.nl/public_html/wp-includes/pluggable.php on line 1121

    and with deug:
    WARNING: wp-includes/functions.php:951 – Cannot modify header information – headers already sent by (output started at /home/deb83152/domains/easy-demo.nl/public_html/wp-content/themes/bridge/page.php:22)
    WARNING: wp-includes/pluggable.php:1121 – Cannot modify header information – headers already sent by (output started at /home/deb83152/domains/easy-demo.nl/public_html/wp-content/themes/bridge/page.php:22)

    Can you help (I am not a programmer) thanks!!

    Reply
    • Ross

      Hey Jeroen

      The error you are getting is because S&F cannot redirect the page to your search results page – and this is because of this error.

      It is telling you that on line 22, of `page.php` in your theme, there is a php error – so before the search form will work you must fix this PHP error :/

      If you want open a ticket in support and I will try to help you further :)

      Reply
  66. Hi there thank you so much for this great pluggin.

    I was wondering if there is any chance to choose the categories appearing in the filter such as it can be done with the post_types. I dont want to show all the categories,,, just two of them…

    Another thing is that if I want to edit the padding between lines how can I manage to do this?

    Thanks!

    Reply
    • Ross

      To edit the padding between the lines you must add some CSS – something like:


      .searchandfilter li
      {
      padding:10px;
      }

      Thanks

      Reply
  67. Hi,

    Is there a way to exclude a category, or categories from the drop-down list. I only have the single search field, and I don’t want all of my categories to display in the dropdown.

    Thanks,

    Molly

    Reply
  68. Luiza Campello

    The plugin seams to be great… but I needed that i could INCLUDE only the tags and categories i want, and not EXCLUDE the ones i don’t want.

    Just excluding the cats and tags I don´t want to appear, every time I create in the blog I need to go to the search form and exclude in the plugin.

    Is there anyway I can fix in the plugins the cats and tags?

    Reply
        • Ross

          Hi Catalina – you can include/exclude categories with the free plugin but the is has just been added to the pro version :)

          Reply
  69. my problem is, in my site i am using search & filter plugin and in that i want to change “All Tags” word to replace with another word.

    Reply
  70. dolomats

    Hello

    I just installed the plugin, nice one exactly what i was looking for
    but unfortunately the date field just show as a normal texfield
    dosnt show u the calendar to browse the date

    Any help ?

    Reply
    • Ross

      Hey dolomats – the free plugin uses the native HTML 5 date field – so you are probably using a browser that hasn’t implemented this just yet (try looking at it with Chrome) – the pro version has a jQuery date picker which works on all modern browsers :)

      Reply
  71. Hi there,

    i am looking for 3 hours now trying to find where i can change the word: submit into another dutch word…
    Where do i have to be ?
    in the style.css? mainstyle?
    Pleaaase help me on this one.
    thanks

    Reply
    • Ross

      Hey Erwin you can add a price filter with the pro version – the basic version does not have this.

      Reply
    • Ross

      Single site means you can use the plugin on 1 domain, developer license means you can use the plugin on unlimited domains.

      Thanks

      Reply
  72. Alex

    If I use [searchandfilter taxonomies="category"] to display a dropdown with all my categories, will there be a way to hide the “uncategorized” item? It is the default category by wordpress an cannot be removed within the categories-section.

    Reply
    • Ross

      Hey Alex, you an remove specific categories or taxonomies in the pro version. The free version has the option “hide_empty” however which you may find useful – check the docs.

      Reply
  73. efactor

    Is it possible to divide categories and subcategories in two different (but linked) box?
    I mean: I need to have a first SELECT with a list of Districts as options. After selecting this, a second select should have all and only the cities of the selected District….

    In other words, I need a hierarchical division that populates the second select box depending on what has been chosen in the first

    Reply
    • Ross

      This will be available in the next major release – I would say anywhere from 2 weeks to 2 months depending on how much time I get for development.

      Thanks

      Reply
  74. Dan

    Hi Ross,

    im using the plugin for the first time. I have two custom taxonomies setup on my wordpress install (sectors, and disciplines), and am using the following code in my template:

    However, the output is only showing checkboxes for the first taxonomy that is called. If i switch the taxonomies around (eg put disciplines first in the ‘fields’, then it still shows the first, but not the second, but does change the listing accordingly (e.g the taxonomies seem to be working fine on their own, but it wont display two at a time)

    Is there something im missing here? Any help would be much appreciated!!
    Ta!

    Reply
    • Dan

      Hi Ross,

      actually managed to figure this out last night, hadnt realised that the default value for showing empty items was to hide them (and hadnt added any actual content using the cusotm taxonomies). Have now got these showing by changing the hide_empty value for each.

      Great plugin, will most likely be upgrading to the full version to take advantage of the ajax loading

      Reply

Trackbacks/Pingbacks

  1.  
  2.  
  3.  

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>