addFilter() public static method

Add a filter to the allowed filters array.
public static addFilter ( string $key, string $name, array $wheres, string $group = '', string $setKey = 'filter' )
$key string The key name of the filter. Appears in the query string, should be url-friendly.
$name string The display name of the filter. Usually appears as an option in the UI.
$wheres array The where array query to execute for the filter. Uses
$group string (optional) The nav module will group together any items with the same group name.
$setKey string The key name of the filter set.
 /**
  * Add new filters to the discussion model
  *
  * @param DiscussionModel $sender Sending controller instance.
  * @param array $args Event arguments.
  */
 public function discussionModel_initStatic_handler($sender, $args)
 {
     DiscussionModel::addFilterSet('prefix', 'Prefixes');
     DiscussionModel::addFilter('has-prefix', 'Has prefix', ['d.Prefix IS NOT NULL' => null], 'base-filter', 'prefix');
     DiscussionModel::addFilter('no-prefix', 'No prefix', ['d.Prefix IS NULL' => null], 'base-filter', 'prefix');
     $currentPrefixes = PrefixDiscussionPlugin::getPrefixes();
     unset($currentPrefixes['-']);
     $usedPrefixesResult = Gdn::sql()->select('Prefix')->from('Discussion')->where('Prefix IS NOT NULL')->get()->resultArray();
     foreach ($usedPrefixesResult as $row) {
         $prefix = $row['Prefix'];
         if (!isset($currentPrefixes[$prefix])) {
             $currentPrefixes[$prefix] = $prefix;
         }
     }
     natsort($currentPrefixes);
     foreach ($currentPrefixes as $prefix) {
         DiscussionModel::addFilter('prefix-' . $this->stringToSlug($prefix), $prefix, ['d.Prefix' => $prefix], 'prefix-filter', 'prefix');
     }
 }