jreviews:search.apply_filters
Filters the boolean state that tracks whether the current search request applied any filters. Use this to account for custom query modifications performed by addons or to mark additional request conditions as active filters.
You need to have a working knowledge of Hooks before you get started.
Fires after the built-in keyword, structural, rating, and author filters run, before custom field filters are applied
Parameters
| Name | Type | Description |
|---|---|---|
$hasFilters |
bool |
Whether any built-in filters have been applied so far |
$query |
\FWD\Illuminate\Database\Eloquent\Builder |
The listings query builder being filtered |
$params |
array |
The normalized search/filter param array |
Boilerplate Code
Use the boilerplate code to start using the filter, and add your own logic to modify the first argument and return it.
fwd_add_filter('jreviews:search.apply_filters', function($hasFilters, $query, $params)
{
// Your code here
return $hasFilters;
}, 20, 3);
The , 20, N after your callback are the hook priority and the number of arguments your callback accepts. By default, a hook passes your callback only its first argument; for a filter, that is the value being filtered, so a simple function($value) { ... } needs nothing extra. If your callback declares more parameters, such as function($value, $listing) { ... }, you must add N (the parameter count, 2 here). Because N is the fourth argument to fwd_add_filter() or fwd_add_action(), you must also pass the priority (20 is the default). Leaving these off when your callback expects extra parameters causes a Too few arguments to function ... fatal error.
Source Files
app/Actions/ApplySearchFiltersAction.php