Filter Hooks
Hooks provide developers with various access to modify core plugin code by inserting or modifying returned data.
The following filter hooks are available when using the Filters add-on:
alm_filters_{id}_{key}
This filters provides a method of customizing the returned filter selections of a specific filter by key.
- id: The unique filter ID
- key: The target query parameter
When filtering by custom field or taxonomy, the key parameter must be the meta_key or taxonomy slug value.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
// id: blog, key: category add_filter( 'alm_filters_blog_category', function() { $values = []; // Define empty array. $args = array( 'order' => 'ASC', 'orderby' => 'name', ); $terms = get_categories($args); // Get all categories. // Loop terms. if($terms){ foreach( $terms as $term ) { $values[] = array( 'label' => $term->name, 'value' => $term->slug ); } // Add 'Show All' option. $values[] = array( 'label' => 'Show All', 'value' => '' ); } return $values; // Return values }); |
Note: When using this filter you must return both a label and value in the array.
alm_filters_{id}_{key}_before
This filter will prepend custom filter options to the start of dynamically populated term list of filters.
- id: The unique filter ID
- key: The target query parameter
When filtering by custom field or taxonomy, the key parameter must be the meta_key or taxonomy slug value.
1 2 3 4 5 6 7 8 9 10 11 |
// id: blog, key: category add_filter( 'alm_filters_blog_category_before', function() { $values = array( array( 'name' => __( 'Show All', 'framework' ), 'slug' => '' // Leave empty to reset the query. ) ); return $values; }); |
Note: The filter can only be used with Taxonomy, Category and Tag filters when using Radio and Checkbox field types..
alm_filters_{id}_{key}_after
This filter will append custom filter options to the end of dynamically populated term list of filters.
- id: The unique filter ID
- key: The target query parameter
When filtering by custom field or taxonomy, the key parameter must be the meta_key or taxonomy slug value.
1 2 3 4 5 6 7 8 9 10 |
// id: blog, key: category add_filter( 'alm_filters_blog_category_after', function() { $values = array( array( 'name' => __( 'Show All', 'framework' ), 'slug' => '' // Leave empty to reset the query. ) ); return $values; }); |
Note: The filter can only be used with Taxonomy, Category and Tag filters when using Radio and Checkbox field types..
alm_filters_{id}_{key}_title
This filter will set the title text of a specific filter block.
- id: The unique filter ID
- key: The target query parameter
When filtering by custom field or taxonomy, the key parameter must be the meta_key or taxonomy slug value.
1 2 3 4 |
// id: listing, key: category add_filter( 'alm_filters_listing_category_title', function() { return __('Categories', 'your-text-domain'); }); |
Note: This filter is useful on multilingual sites built with WPML or Polylang where titles are required to be localized across languages.
alm_filters_{id}_{key}_label
This filter will set the label of a filter block.
- id: The unique filter ID
- key: The target query parameter
When filtering by custom field or taxonomy, the key parameter must be the meta_key or taxonomy slug value.
1 2 3 4 |
// id: listing, key: tag add_filter( 'alm_filters_listing_tag_label', function() { return '--'. __('Select a Tag', 'your-text-domain') .'--'; }); |
Note: This filter is useful on multilingual sites built with WPML or Polylang where labels are required to be localized across languages.
alm_filters_{id}_{key}_default
This filter will set a default fallback value for a filter block.
- id: The unique filter ID
- key: The target query parameter
When filtering by custom field or taxonomy, the key parameter must be the meta_key or taxonomy slug value.
1 2 3 4 5 |
// [ajax_load_more post_type="work,post"] // id: search, key: post_type add_filter( 'alm_filters_search_post_type_default', function() { return 'work,post'; }); |
Note: Return values in this hook should (in most cases) directly relate to values already set in the core Ajax Load More shortcode.
alm_filters_{id}_{key}_selected
This filter will set a default pre-selected value for a filter block and is available for the radio, checkbox and select field types only.
- id: The unique filter ID.
- key: The target query parameter (key).
When filtering by custom field or taxonomy, the key parameter must be the meta_key or taxonomy slug value.
1 2 3 4 5 |
// [ajax_load_more post_type="work" category="design"] // id: portfolio, key: category add_filter( 'alm_filters_portfolio_category_selected', function() { return 'design'; }); |
Note: When using this filter you must also set this value in your core Ajax Load More shortcode.
alm_filters_select_class
Adds custom classes to select element wrappers. This is useful for users who are using select replacement techniques.
1 2 3 |
add_filter( 'alm_filters_select_class', function() { return 'my_select select2'; }); |
alm_filters_button_text
Set a default value of submit button label.
1 2 3 |
add_filter( 'alm_filters_button_text', function() { return __('Submit Filter', 'your-text-domain'); }); |
alm_filters_title_element
Update the default HTML of each filter title element.
1 2 3 |
add_filter( 'alm_filters_title_element', function() { return 'h2'; // default = h3 }); |
alm_filters_edit
Disable the filter edit button for logged in (admin) users.
1 |
add_filter( 'alm_filters_edit', '__return_false' ); |
alm_filters_range_slider_reset_label
Change the default label of the reset/clear button used with the Range Slider field type.
1 2 3 4 |
// Default: Reset add_filter( 'alm_filters_range_slider_reset_label', function() { return __('Clear', 'framework'); }); |
alm_filters_reset_button_label
This filter will change the label of the Reset filters button.
1 2 3 |
add_filter( 'alm_filters_reset_button_label', function() { return __( 'Clear Filters', 'framework' ); } ); |
alm_filters_public_taxonomies
This filter will enable all taxonomies (even non-public) to be a option when creating a Taxonomy filter in the Ajax Load More admin. By default, only public taxonomies are displayed.
1 |
add_filter( 'alm_filters_public_taxonomies', '__return_false' ); |
Term Query Hooks
Taxonomy term and author filters are returned using a set of default query arguments to order terms alphabetically and remove empty options from the listing.
Use the following filter hooks to modify the arguments ( child_of, order, orderby, hide_empty etc.) of an author, category, tag or taxonomy term query.
Author: alm_filters_{id}_author_args
This filter will adjust the arguments of an author query.
- id: The unique filter ID
1 2 3 4 5 6 7 8 |
// [ajax_load_more_filters id="archive"] function my_filters_author_args($args){ // Adjust query $args. $args['order'] = 'ASC'; $args['orderby'] = 'login'; return $args; } add_filter( 'alm_filters_archive_author_args', 'my_filters_author_args'); |
Note: The author query uses the WordPress core get_users function – all accepted arguments can be used in this filter.
Category: alm_filters_{id}_category_args
This filter will adjust the arguments of a category query.
- id: The unique filter ID
The following snippet will order a category filter listing by count in ascending order and render empty categories.
1 2 3 4 5 6 7 8 9 |
// [ajax_load_more_filters id="almcats"] function my_filters_category_args($args){ // Adjust query $args. $args['order'] = 'ASC'; $args['orderby'] = 'count'; $args['hide_empty'] = false; return $args; } add_filter( 'alm_filters_almcats_category_args', 'my_filters_category_args'); |
Note: The category query uses the core WordPress function get_terms – all accepted arguments can be used in this filter.
Tag: alm_filters_{id}_tag_args
This filter will adjust the arguments of a tag query.
- id: The unique filter ID
1 2 3 4 5 6 7 |
// [ajax_load_more_filters id="listing"] function my_filters_tag_args($args){ // Adjust query $args. $args['order'] = 'ASC'; return $args; } add_filter( 'alm_filters_listing_tag_args', 'my_filters_tag_args'); |
Note: The tag query uses the core WordPress function get_terms – all accepted arguments can be used in this filter.
Taxonomy: alm_filters_{id}_{key}_args
This filter will adjust the arguments of a custom taxonomy query.
- id: The unique filter ID
- key: The target query parameter
When filtering by taxonomy, the key parameter must be the taxonomy slug value.
1 2 3 4 5 6 7 8 9 |
// [ajax_load_more_filters id="movies"] function my_filters_actor_order($args){ // Adjust query $args. $args['child_of'] = 18; $args['order'] = 'ASC'; $args['orderby'] = 'slug'; return $args; } add_filter( 'alm_filters_movies_actor_args', 'my_filters_actor_order'); |
Note: The taxonomy query uses the core WordPress function get_terms – all accepted arguments can be used in this filter.