web/wp-content/themes/thematic/library/extensions/helpers.php
changeset 1 0d28b7c10758
equal deleted inserted replaced
0:0d9a58d2c515 1:0d28b7c10758
       
     1 <?php
       
     2 
       
     3 // create bullet-proof excerpt for meta name="description"
       
     4 
       
     5 function thematic_trim_excerpt($text) {
       
     6 	if ( '' == $text ) {
       
     7 		$text = get_the_content('');
       
     8 
       
     9 		$text = strip_shortcodes( $text );
       
    10 
       
    11 		$text = str_replace(']]>', ']]&gt;', $text);
       
    12 		$text = strip_tags($text);
       
    13 	  $text = str_replace('"', '\'', $text);
       
    14 		$excerpt_length = apply_filters('excerpt_length', 55);
       
    15 		$words = explode(' ', $text, $excerpt_length + 1);
       
    16 		if (count($words) > $excerpt_length) {
       
    17 			array_pop($words);
       
    18 			array_push($words, '[...]');
       
    19 			$text = implode(' ', $words);
       
    20 		}
       
    21 	}
       
    22 	return $text;
       
    23 }
       
    24 
       
    25 function thematic_the_excerpt($deprecated = '') {
       
    26 	global $post;
       
    27 	$output = '';
       
    28 	$output = strip_tags($post->post_excerpt);
       
    29 	$output = str_replace('"', '\'', $output);
       
    30 	if ( post_password_required($post) ) {
       
    31 		$output = __('There is no excerpt because this is a protected post.');
       
    32 		return $output;
       
    33 	}
       
    34 
       
    35 	return $output;
       
    36 	
       
    37 }
       
    38 
       
    39 function thematic_excerpt_rss() {
       
    40 	global $post;
       
    41 	$output = '';
       
    42 	$output = strip_tags($post->post_excerpt);
       
    43 	if ( post_password_required($post) ) {
       
    44 		$output = __('There is no excerpt because this is a protected post.');
       
    45 		return $output;
       
    46 }
       
    47 
       
    48 	return apply_filters('thematic_excerpt_rss', $output);
       
    49 
       
    50 }
       
    51 
       
    52 add_filter('thematic_excerpt_rss', 'thematic_trim_excerpt');
       
    53 
       
    54 // create nice multi_tag_title
       
    55 // Credits: Martin Kopischke for providing this code
       
    56 
       
    57 function thematic_tag_query() {
       
    58 	$nice_tag_query = get_query_var('tag'); // tags in current query
       
    59 	$nice_tag_query = str_replace(' ', '+', $nice_tag_query); // get_query_var returns ' ' for AND, replace by +
       
    60 	$tag_slugs = preg_split('%[,+]%', $nice_tag_query, -1, PREG_SPLIT_NO_EMPTY); // create array of tag slugs
       
    61 	$tag_ops = preg_split('%[^,+]*%', $nice_tag_query, -1, PREG_SPLIT_NO_EMPTY); // create array of operators
       
    62 
       
    63 	$tag_ops_counter = 0;
       
    64 	$nice_tag_query = '';
       
    65 
       
    66 	foreach ($tag_slugs as $tag_slug) { 
       
    67 		$tag = get_term_by('slug', $tag_slug ,'post_tag');
       
    68 		// prettify tag operator, if any
       
    69 		if ($tag_ops[$tag_ops_counter] == ',') {
       
    70 			$tag_ops[$tag_ops_counter] = ', ';
       
    71 		} elseif ($tag_ops[$tag_ops_counter] == '+') {
       
    72 			$tag_ops[$tag_ops_counter] = ' + ';
       
    73 		}
       
    74 		// concatenate display name and prettified operators
       
    75 		$nice_tag_query = $nice_tag_query.$tag->name.$tag_ops[$tag_ops_counter];
       
    76 		$tag_ops_counter += 1;
       
    77 	}
       
    78 	 return $nice_tag_query;
       
    79 }
       
    80 
       
    81 ?>