Actions
Update Cache for a Particular Post
Available since v2.0
Usage
do_action('search_filter_update_post_cache', 23);
Takes 1 parameters – Post ID
This allows you to manually update the cache for a particular post – replace 23 with the ID of your post.
Force S&F Pagination on non results pages
Available since v2.0
Usage
do_action('search_filter_setup_pagination', 96);
Takes 1 parameters – Search Form ID
This is generally not required but allows you to manually apply S&F pagination on typically non results pages. Place this action just before your pagination code.
Query Posts
Available since v2.0
Usage
do_action('search_filter_query_posts', 96);
Takes 1 parameters – Search Form ID
This runs a Query Posts using the search form data and user’s selection in the search form. It is only necessary for problematic themes when using either Archive or Post Type Archive Display Methods – it should be added to the top of the template used for displaying results.
Filters
Edit Query Arguments
Available since v2.0
Usage
function filter_function_name( $query_args, $sfid ) { //if search form ID = 225, the do something with this query if($sfid==225) { //modify $query_args here before returning it $query_args['somearg'] = 'newvalue'; } return $query_args; } add_filter( 'sf_edit_query_args', 'filter_function_name', 20, 2 );
Takes 2 parameters –
- $query_args – an array of query arguments – this is the same as the `$args` variable that gets passed to WP_Query
- $sfid – this is the numeric ID of the Search Form
Make sure to return $query_args after you have modified it as with all WP filters
Filter Input Object
Available since v2.1
Usage
function filter_function_name($input_object, $sfid) { if($input_object['name']=='_my_field_name') { //udpate this field before rendering } return $input_object; } add_filter('sf_input_object_pre', 'filter_function_name', 10, 2);
Takes 2 parameters –
- $input_object – this is an object representing all the options available to a html input field – most options can be changed such as classes, options & defaults – see a full featured example here.
- $sfid – this is the numeric ID of the Search Form
Modify URLs
Available since v2.2
** Note, altering the URLs may lead to unexpected results. These filters are generally only available for doing things like changing the protocol, ie replacing `http` with `https` for example.
Usage
function filter_function_name( $url, $sfid) { // Process URL here return $url; } add_filter( 'sf_results_url', 'filter_function_name', 10, 2 );
There are 3 kinds of URLs Search & Filter uses, each has their own filter name:
sf_results_url
This URL is used for most setups for various actions
sf_ajax_results_url
This URL is only used when using the Shortcode Display Method with Ajax enabled
sf_ajax_form_url
This URL is used to fetch the Search & Filter form when the option Update the Search Form on user interaction is enabled. It is only used for fetching a new copy of the Search Form