How to override the widget of an exposed form filter? I have a view with a single filter criteria (let's call it category) exposed to the user. The user can also select multiple categories in for this view (standard view stuff).
The category selection filter is rendered to the user in a big &lt;select&gt; for element. For aesthetic reasons, this is undesirable.
What I'm trying to do is override the display of the widget that renders out the &lt;select&gt; element. I've copied my /sites/all/modules/view/themes/views-exposed-form.php.tpl to my theme's folder, however, the widget itself (which contains the &lt;select&gt; form control I want to change to something else) is simply rendered by $widget-&gt;widget;
How can I change how the widget renders the multiple categories selection filter in the view?
Edit, for more info and clarity: This question deals with styling a widget, which is not quite what I want to do. I want to change the markup that renders the widget.
Another edit (after answering my own question): Turns out widget is not quite the correct Drupal terminology to use here for the exposed form filter.
Ok, so after spending a day digging around the net, it seems that there are two ways to do this.

First off, for clarification, the exposed filter from the view is not a widget, at least in the Drupal sense of the word. In the traditional Drupal sense of the word, a widget is something used on an edit form or add form. Hooks like hook_field_widget_alter() and it's brethren operate on these widgets.

Just because the views-exposed-form.php.tpl has $widget as a variable, THAT DOES NOT MAKE IT A WIDGET!!!

Now that that confusion is out of the way, there are two ways to change the exposed filter.


Add a custom module and use hook_form_alter to change things about the exposed filter form. I got as far as creating a custom module (called bypass) and creating a hook to display some simple debugging info:

function bypass_form_alter(&amp;$form, &amp;$form_state, $form_id){
    dsm($form_id);
    dsm($form);
}



when I discovered the Better Exposed Filters module.


Use the Better Exposed Filters module to display the filters as checkboxes, radio buttons, etc. and style those.


Option 2 is what I'm doing now.  Hope this helps someone :)