Views 過濾列表預設不返回結果 Views exposed filter default show zero result

Show No Results by Default

原理是使用 Global argument
如果 filter 的返回值都是預設值的話, 用 argument 返回 false,
再輸出 empty text 或者不輸出值

arguments: Global Null
provide default argument
fixed entry
PHP Code:

<?php
foreach ($view->filter as $filter) {
  if (
$filter->options['exposed']) {
   
$value = $view->display[$view->current_display]->handler->handlers['filter'][$filter->options['id']]->value;   
    if(!empty(
$value)) {
      if(
is_array($value)) {
       
$val = array_pop($value);
        if(!empty(
$val)) {
          return
true;
        }
      }else{
        if(!empty(
$value)) {
          return
true;
        }
      }
    }
  }
}
return
false;
?>
Google