Ejemplo n.º 1
0
 /**
  * Output Filter from custom grid
  * @since 1.0.6
  */
 public function output_filter_by_custom()
 {
     $base = new Essential_Grid_Base();
     $nav = new Essential_Grid_Navigation();
     $filter_allow = $base->getVar($this->grid_params, 'filter-arrows', 'single');
     $filter_start = $base->getVar($this->grid_params, 'filter-start', '');
     $filter_all_text = $base->getVar($this->grid_params, 'filter-all-text', __('Filter - All', EG_TEXTDOMAIN));
     $filter_dropdown_text = $base->getVar($this->grid_params, 'filter-dropdown-text', __('Filter Categories', EG_TEXTDOMAIN));
     $show_count = $base->getVar($this->grid_params, 'filter-counter', 'off');
     $nav->set_dropdown_text($filter_dropdown_text);
     $nav->set_show_count($show_count);
     $nav->set_filter_text($filter_all_text);
     $found_filter = array();
     if (!empty($this->grid_layers) && count($this->grid_layers) > 0) {
         foreach ($this->grid_layers as $key => $entry) {
             $filters = array();
             if (!empty($entry['custom-filter'])) {
                 $cats = explode(',', $entry['custom-filter']);
                 if (!is_array($cats)) {
                     $cats = (array) $cats;
                 }
                 foreach ($cats as $category) {
                     $filters[sanitize_key($category)] = array('name' => $category, 'slug' => sanitize_key($category));
                     $found_filter = $found_filter + $filters;
                     //these are the found filters, only show filter that the posts have
                 }
             }
         }
     }
     $nav->set_filter($found_filter);
     //set filters $nav_filters $found_filter
     $nav->set_filter_type($filter_allow);
     $nav->set_filter_start_select($filter_start);
     $nav->output_filter();
 }