public static function process_results($results) { $parameters = self::$state['parameters']; if (!is_array($results)) { $results = array($results); } $results = apply_filters('ccs_loop_all_results', $results); $result = apply_filters('ccs_loop_preprocess_combined_result', implode('', $results)); /*--------------------------------------------- * * Process the combined result * */ /*--------------------------------------------- * * Strip tags * */ if (!empty($parameters['strip'])) { $strip_tags = $parameters['strip']; if ($strip_tags == 'true') { $result = wp_kses($result, array()); } else { // Allow certain tags $result = strip_tags(html_entity_decode($result), $strip_tags); } } /*--------------------------------------------- * * Trim * */ if (!empty($parameters['trim'])) { $trim = $parameters['trim']; if (empty($parameters['columns']) && $parameters['list'] != 'true') { $result = CCS_Format::trim($result, $trim); } else { // Trim each item for columns or list $new_results = array(); foreach ($results as $result) { $new_results[] = CCS_Format::trim($result, $trim); } $results = $new_results; } } /*--------------------------------------------- * * Escape/unescape HTML * */ if ($parameters['escape'] == 'true') { $new_results = array(); foreach ($results as $result) { $new_results[] = esc_html($result); } $results = $new_results; } if ($parameters['unescape'] == 'true') { $new_results = array(); foreach ($results as $result) { $new_results[] = htmlspecialchars_decode($result); } $results = $new_results; } /*--------------------------------------------- * * Finally, columns or list * */ if (!empty($parameters['columns'])) { $result = self::render_columns($results, $parameters['columns'], $parameters['pad'], $parameters['between']); } elseif (!empty($parameters['list'])) { // Wrap each list item $new_results = null; $item_tag = !empty($parameters['item']) ? $parameters['item'] : 'li'; $item_class = !empty($parameters['item_class']) ? ' class="' . $parameters['item_class'] . '"' : null; $item_style = !empty($parameters['item_style']) ? ' style="' . $parameters['item_style'] . '"' : null; $list_tag = $parameters['list'] == 'true' ? 'ul' : $parameters['list']; $list_class = !empty($parameters['list_class']) ? ' class="' . $parameters['list_class'] . '"' : null; $list_style = !empty($parameters['list_style']) ? ' style="' . $parameters['list_style'] . '"' : null; $parameters['item_count'] = count($results); foreach ($results as $result) { $item = '<' . $item_tag . $item_class . $item_style . '>' . $result . '</' . $item_tag . '>'; if (!empty($parameters['paginate'])) { $item = '<' . $list_tag . $list_class . $list_style . '>' . $item . '</' . $list_tag . '>'; } $new_results .= apply_filters('ccs_loop_each_item', $item, $parameters); } if (empty($parameters['paginate'])) { $result = '<' . $list_tag . $list_class . $list_style . '>' . $new_results . '</' . $list_tag . '>'; } else { $result = $new_results; } } /*--------------------------------------------- * * Cache the final result * */ if (self::$state['do_cache'] == 'true') { CCS_Cache::set_transient(self::$state['cache_name'], $result, $parameters['expire']); } return apply_filters('ccs_loop_final_result', $result, $parameters); }