active_languages[ 'all' ] ) ) { $this->current_language = $this->sitepress->get_current_language (); $this->active_languages = $this->sitepress->get_active_languages (); $this->active_languages[ 'all' ] = array( 'display_name' => __ ( 'All languages', 'sitepress' ) ); } } protected function lang_span( $lang_code, $count ) { return ' (' . $count . ')'; } protected function strong_lang_span_cover($lang_code, $count){ $px = ''; $sx = $this->lang_span( $lang_code, $count ) . ''; return array($px, $sx); } private function sanitize_get_input( $index, $parent_array ) { $value = isset( $_GET[ $index ] ) ? $_GET[ $index ] : false; return isset( $parent_array[ $value ] ) ? $value : ''; } protected function sanitize_request() { global $wp_post_types, $wp_taxonomies; $taxonomy = $this->sanitize_get_input( 'taxonomy', $wp_taxonomies ); $post_type = $this->sanitize_get_input( 'post_type', $wp_post_types ); return array( 'req_tax' => $taxonomy, 'req_ptype' => $post_type ); } protected abstract function get_count_data( $element_type ); protected function extra_conditions_snippet() { $sql = " AND t.language_code IN (" . wpml_prepare_in( array_keys( $this->active_languages ) ) . ") GROUP BY language_code"; return apply_filters( 'wpml_language_filter_extra_conditions_snippet', $sql ); } protected function get_counts( $element_type ) { $counts = $this->get_count_data( $element_type ); $counts = (bool) $counts === true ? $counts : array(); return $this->generate_counts_array( $counts); } private function generate_counts_array( array $data ) { $languages = array( 'all' => 0 ); foreach ( $data as $language_count ) { $languages[ $language_count->language_code ] = $language_count->c; $languages['all'] += $language_count->c; } return $languages; } }