web/wp-content/themes/thematic/library/extensions/helpers.php
changeset 1 0d28b7c10758
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/wp-content/themes/thematic/library/extensions/helpers.php	Fri Mar 12 13:29:04 2010 +0000
@@ -0,0 +1,81 @@
+<?php
+
+// create bullet-proof excerpt for meta name="description"
+
+function thematic_trim_excerpt($text) {
+	if ( '' == $text ) {
+		$text = get_the_content('');
+
+		$text = strip_shortcodes( $text );
+
+		$text = str_replace(']]>', ']]&gt;', $text);
+		$text = strip_tags($text);
+	  $text = str_replace('"', '\'', $text);
+		$excerpt_length = apply_filters('excerpt_length', 55);
+		$words = explode(' ', $text, $excerpt_length + 1);
+		if (count($words) > $excerpt_length) {
+			array_pop($words);
+			array_push($words, '[...]');
+			$text = implode(' ', $words);
+		}
+	}
+	return $text;
+}
+
+function thematic_the_excerpt($deprecated = '') {
+	global $post;
+	$output = '';
+	$output = strip_tags($post->post_excerpt);
+	$output = str_replace('"', '\'', $output);
+	if ( post_password_required($post) ) {
+		$output = __('There is no excerpt because this is a protected post.');
+		return $output;
+	}
+
+	return $output;
+	
+}
+
+function thematic_excerpt_rss() {
+	global $post;
+	$output = '';
+	$output = strip_tags($post->post_excerpt);
+	if ( post_password_required($post) ) {
+		$output = __('There is no excerpt because this is a protected post.');
+		return $output;
+}
+
+	return apply_filters('thematic_excerpt_rss', $output);
+
+}
+
+add_filter('thematic_excerpt_rss', 'thematic_trim_excerpt');
+
+// create nice multi_tag_title
+// Credits: Martin Kopischke for providing this code
+
+function thematic_tag_query() {
+	$nice_tag_query = get_query_var('tag'); // tags in current query
+	$nice_tag_query = str_replace(' ', '+', $nice_tag_query); // get_query_var returns ' ' for AND, replace by +
+	$tag_slugs = preg_split('%[,+]%', $nice_tag_query, -1, PREG_SPLIT_NO_EMPTY); // create array of tag slugs
+	$tag_ops = preg_split('%[^,+]*%', $nice_tag_query, -1, PREG_SPLIT_NO_EMPTY); // create array of operators
+
+	$tag_ops_counter = 0;
+	$nice_tag_query = '';
+
+	foreach ($tag_slugs as $tag_slug) { 
+		$tag = get_term_by('slug', $tag_slug ,'post_tag');
+		// prettify tag operator, if any
+		if ($tag_ops[$tag_ops_counter] == ',') {
+			$tag_ops[$tag_ops_counter] = ', ';
+		} elseif ($tag_ops[$tag_ops_counter] == '+') {
+			$tag_ops[$tag_ops_counter] = ' + ';
+		}
+		// concatenate display name and prettified operators
+		$nice_tag_query = $nice_tag_query.$tag->name.$tag_ops[$tag_ops_counter];
+		$tag_ops_counter += 1;
+	}
+	 return $nice_tag_query;
+}
+
+?>
\ No newline at end of file