/** * 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(); }