web/wp-content/themes/thematic/library/extensions/header-extensions.php
author ymh <ymh.work@gmail.com>
Mon, 22 Mar 2010 16:36:28 +0100
changeset 5 ac511f1ccc8e
parent 1 0d28b7c10758
permissions -rw-r--r--
add hgignore
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
0d28b7c10758 First commit
ymh
parents:
diff changeset
     1
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
     2
0d28b7c10758 First commit
ymh
parents:
diff changeset
     3
// Creates the DOCTYPE section
0d28b7c10758 First commit
ymh
parents:
diff changeset
     4
function thematic_create_doctype() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
     5
    $content = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' . "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
     6
    $content .= '<html xmlns="http://www.w3.org/1999/xhtml"';
0d28b7c10758 First commit
ymh
parents:
diff changeset
     7
    echo apply_filters('thematic_create_doctype', $content);
0d28b7c10758 First commit
ymh
parents:
diff changeset
     8
} // end thematic_create_doctype
0d28b7c10758 First commit
ymh
parents:
diff changeset
     9
0d28b7c10758 First commit
ymh
parents:
diff changeset
    10
0d28b7c10758 First commit
ymh
parents:
diff changeset
    11
// Creates the HEAD Profile
0d28b7c10758 First commit
ymh
parents:
diff changeset
    12
function thematic_head_profile() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    13
    $content = '<head profile="http://gmpg.org/xfn/11">' . "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
    14
    echo apply_filters('thematic_head_profile', $content);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    15
} // end thematic_head_profile
0d28b7c10758 First commit
ymh
parents:
diff changeset
    16
0d28b7c10758 First commit
ymh
parents:
diff changeset
    17
0d28b7c10758 First commit
ymh
parents:
diff changeset
    18
// Get the page number adapted from http://efficienttips.com/wordpress-seo-title-description-tag/
0d28b7c10758 First commit
ymh
parents:
diff changeset
    19
function pageGetPageNo() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    20
    if (get_query_var('paged')) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    21
        print ' | Page ' . get_query_var('paged');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    22
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    23
} // end pageGetPageNo
0d28b7c10758 First commit
ymh
parents:
diff changeset
    24
0d28b7c10758 First commit
ymh
parents:
diff changeset
    25
0d28b7c10758 First commit
ymh
parents:
diff changeset
    26
// Located in header.php 
0d28b7c10758 First commit
ymh
parents:
diff changeset
    27
// Creates the content of the Title tag
0d28b7c10758 First commit
ymh
parents:
diff changeset
    28
// Credits: Tarski Theme
0d28b7c10758 First commit
ymh
parents:
diff changeset
    29
function thematic_doctitle() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    30
	$site_name = get_bloginfo('name');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    31
    $separator = '|';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    32
        	
0d28b7c10758 First commit
ymh
parents:
diff changeset
    33
    if ( is_single() ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    34
      $content = single_post_title('', FALSE);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    35
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    36
    elseif ( is_home() || is_front_page() ) { 
0d28b7c10758 First commit
ymh
parents:
diff changeset
    37
      $content = get_bloginfo('description');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    38
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    39
    elseif ( is_page() ) { 
0d28b7c10758 First commit
ymh
parents:
diff changeset
    40
      $content = single_post_title('', FALSE); 
0d28b7c10758 First commit
ymh
parents:
diff changeset
    41
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    42
    elseif ( is_search() ) { 
0d28b7c10758 First commit
ymh
parents:
diff changeset
    43
      $content = __('Search Results for:', 'thematic'); 
0d28b7c10758 First commit
ymh
parents:
diff changeset
    44
      $content .= ' ' . wp_specialchars(stripslashes(get_search_query()), true);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    45
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    46
    elseif ( is_category() ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    47
      $content = __('Category Archives:', 'thematic');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    48
      $content .= ' ' . single_cat_title("", false);;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    49
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    50
    elseif ( is_tag() ) { 
0d28b7c10758 First commit
ymh
parents:
diff changeset
    51
      $content = __('Tag Archives:', 'thematic');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    52
      $content .= ' ' . thematic_tag_query();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    53
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    54
    elseif ( is_404() ) { 
0d28b7c10758 First commit
ymh
parents:
diff changeset
    55
      $content = __('Not Found', 'thematic'); 
0d28b7c10758 First commit
ymh
parents:
diff changeset
    56
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    57
    else { 
0d28b7c10758 First commit
ymh
parents:
diff changeset
    58
      $content = get_bloginfo('description');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    59
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    60
0d28b7c10758 First commit
ymh
parents:
diff changeset
    61
    if (get_query_var('paged')) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    62
      $content .= ' ' .$separator. ' ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    63
      $content .= 'Page';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    64
      $content .= ' ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    65
      $content .= get_query_var('paged');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    66
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    67
0d28b7c10758 First commit
ymh
parents:
diff changeset
    68
    if($content) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    69
      if ( is_home() || is_front_page() ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    70
          $elements = array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
    71
            'site_name' => $site_name,
0d28b7c10758 First commit
ymh
parents:
diff changeset
    72
            'separator' => $separator,
0d28b7c10758 First commit
ymh
parents:
diff changeset
    73
            'content' => $content
0d28b7c10758 First commit
ymh
parents:
diff changeset
    74
          );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    75
      }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    76
      else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    77
          $elements = array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
    78
            'content' => $content
0d28b7c10758 First commit
ymh
parents:
diff changeset
    79
          );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    80
      }  
0d28b7c10758 First commit
ymh
parents:
diff changeset
    81
    } else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    82
      $elements = array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
    83
        'site_name' => $site_name
0d28b7c10758 First commit
ymh
parents:
diff changeset
    84
      );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    85
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    86
0d28b7c10758 First commit
ymh
parents:
diff changeset
    87
    // Filters should return an array
0d28b7c10758 First commit
ymh
parents:
diff changeset
    88
    $elements = apply_filters('thematic_doctitle', $elements);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    89
	
0d28b7c10758 First commit
ymh
parents:
diff changeset
    90
    // But if they don't, it won't try to implode
0d28b7c10758 First commit
ymh
parents:
diff changeset
    91
    if(is_array($elements)) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    92
      $doctitle = implode(' ', $elements);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    93
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    94
    else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    95
      $doctitle = $elements;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    96
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    97
    
0d28b7c10758 First commit
ymh
parents:
diff changeset
    98
    $doctitle = "\t" . "<title>" . $doctitle . "</title>" . "\n\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
    99
    
0d28b7c10758 First commit
ymh
parents:
diff changeset
   100
    echo $doctitle;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   101
} // end thematic_doctitle
0d28b7c10758 First commit
ymh
parents:
diff changeset
   102
0d28b7c10758 First commit
ymh
parents:
diff changeset
   103
0d28b7c10758 First commit
ymh
parents:
diff changeset
   104
// Creates the content-type section
0d28b7c10758 First commit
ymh
parents:
diff changeset
   105
function thematic_create_contenttype() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   106
    $content  = "\t";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   107
    $content .= "<meta http-equiv=\"Content-Type\" content=\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   108
    $content .= get_bloginfo('html_type'); 
0d28b7c10758 First commit
ymh
parents:
diff changeset
   109
    $content .= "; charset=";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   110
    $content .= get_bloginfo('charset');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   111
    $content .= "\" />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   112
    $content .= "\n\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   113
    echo apply_filters('thematic_create_contenttype', $content);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   114
} // end thematic_create_contenttype
0d28b7c10758 First commit
ymh
parents:
diff changeset
   115
0d28b7c10758 First commit
ymh
parents:
diff changeset
   116
// The master switch for SEO functions
0d28b7c10758 First commit
ymh
parents:
diff changeset
   117
function thematic_seo() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   118
		$content = TRUE;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   119
		return apply_filters('thematic_seo', $content);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   120
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   121
0d28b7c10758 First commit
ymh
parents:
diff changeset
   122
// Creates the canonical URL
0d28b7c10758 First commit
ymh
parents:
diff changeset
   123
function thematic_canonical_url() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   124
		if (thematic_seo()) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   125
    		if ( is_singular() ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   126
        		$canonical_url = "\t";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   127
        		$canonical_url .= '<link rel="canonical" href="' . get_permalink() . '" />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   128
        		$canonical_url .= "\n\n";        
0d28b7c10758 First commit
ymh
parents:
diff changeset
   129
        		echo apply_filters('thematic_canonical_url', $canonical_url);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   130
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   131
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   132
} // end thematic_canonical_url
0d28b7c10758 First commit
ymh
parents:
diff changeset
   133
0d28b7c10758 First commit
ymh
parents:
diff changeset
   134
0d28b7c10758 First commit
ymh
parents:
diff changeset
   135
// switch use of thematic_the_excerpt() - default: ON
0d28b7c10758 First commit
ymh
parents:
diff changeset
   136
function thematic_use_excerpt() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   137
    $display = TRUE;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   138
    $display = apply_filters('thematic_use_excerpt', $display);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   139
    return $display;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   140
} // end thematic_use_excerpt
0d28b7c10758 First commit
ymh
parents:
diff changeset
   141
0d28b7c10758 First commit
ymh
parents:
diff changeset
   142
0d28b7c10758 First commit
ymh
parents:
diff changeset
   143
// switch use of thematic_the_excerpt() - default: OFF
0d28b7c10758 First commit
ymh
parents:
diff changeset
   144
function thematic_use_autoexcerpt() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   145
    $display = FALSE;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   146
    $display = apply_filters('thematic_use_autoexcerpt', $display);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   147
    return $display;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   148
} // end thematic_use_autoexcerpt
0d28b7c10758 First commit
ymh
parents:
diff changeset
   149
0d28b7c10758 First commit
ymh
parents:
diff changeset
   150
0d28b7c10758 First commit
ymh
parents:
diff changeset
   151
// Creates the meta-tag description
0d28b7c10758 First commit
ymh
parents:
diff changeset
   152
function thematic_create_description() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   153
		if (thematic_seo()) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   154
    		if (is_single() || is_page() ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   155
      		  if ( have_posts() ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   156
          		  while ( have_posts() ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   157
            		    the_post();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   158
										if (thematic_the_excerpt() == "") {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   159
                    		if (thematic_use_autoexcerpt()) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   160
                        		$content ="\t";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   161
														$content .= "<meta name=\"description\" content=\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   162
                        		$content .= thematic_excerpt_rss();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   163
                        		$content .= "\" />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   164
                        		$content .= "\n\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   165
                    		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   166
                		} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   167
                    		if (thematic_use_excerpt()) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   168
                        		$content ="\t";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   169
                        		$content .= "<meta name=\"description\" content=\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   170
                        		$content .= thematic_the_excerpt();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   171
                        		$content .= "\" />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   172
                        		$content .= "\n\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   173
                    		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   174
                		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   175
            		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   176
        		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   177
    		} elseif ( is_home() || is_front_page() ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   178
        		$content ="\t";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   179
        		$content .= "<meta name=\"description\" content=\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   180
        		$content .= get_bloginfo('description');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   181
        		$content .= "\" />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   182
        		$content .= "\n\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   183
    		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   184
    		echo apply_filters ('thematic_create_description', $content);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   185
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   186
} // end thematic_create_description
0d28b7c10758 First commit
ymh
parents:
diff changeset
   187
0d28b7c10758 First commit
ymh
parents:
diff changeset
   188
0d28b7c10758 First commit
ymh
parents:
diff changeset
   189
// meta-tag description is switchable using a filter
0d28b7c10758 First commit
ymh
parents:
diff changeset
   190
function thematic_show_description() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   191
    $display = TRUE;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   192
    $display = apply_filters('thematic_show_description', $display);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   193
    if ($display) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   194
        thematic_create_description();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   195
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   196
} // end thematic_show_description
0d28b7c10758 First commit
ymh
parents:
diff changeset
   197
0d28b7c10758 First commit
ymh
parents:
diff changeset
   198
0d28b7c10758 First commit
ymh
parents:
diff changeset
   199
// create meta-tag robots
0d28b7c10758 First commit
ymh
parents:
diff changeset
   200
function thematic_create_robots() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   201
        global $paged;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   202
		if (thematic_seo()) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   203
    		$content = "\t";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   204
    		if((is_home() && ($paged < 2 )) || is_front_page() || is_single() || is_page() || is_attachment()) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   205
						$content .= "<meta name=\"robots\" content=\"index,follow\" />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   206
    		} elseif (is_search()) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   207
        		$content .= "<meta name=\"robots\" content=\"noindex,nofollow\" />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   208
    		} else {	
0d28b7c10758 First commit
ymh
parents:
diff changeset
   209
        		$content .= "<meta name=\"robots\" content=\"noindex,follow\" />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   210
    		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   211
    		$content .= "\n\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   212
    		if (get_option('blog_public')) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   213
    				echo apply_filters('thematic_create_robots', $content);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   214
    		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   215
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   216
} // end thematic_create_robots
0d28b7c10758 First commit
ymh
parents:
diff changeset
   217
0d28b7c10758 First commit
ymh
parents:
diff changeset
   218
0d28b7c10758 First commit
ymh
parents:
diff changeset
   219
// meta-tag robots is switchable using a filter
0d28b7c10758 First commit
ymh
parents:
diff changeset
   220
function thematic_show_robots() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   221
    $display = TRUE;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   222
    $display = apply_filters('thematic_show_robots', $display);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   223
    if ($display) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   224
        thematic_create_robots();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   225
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   226
} // end thematic_show_robots
0d28b7c10758 First commit
ymh
parents:
diff changeset
   227
0d28b7c10758 First commit
ymh
parents:
diff changeset
   228
0d28b7c10758 First commit
ymh
parents:
diff changeset
   229
// Located in header.php
0d28b7c10758 First commit
ymh
parents:
diff changeset
   230
// creates link to style.css
0d28b7c10758 First commit
ymh
parents:
diff changeset
   231
function thematic_create_stylesheet() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   232
    $content = "\t";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   233
    $content .= "<link rel=\"stylesheet\" type=\"text/css\" href=\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   234
    $content .= get_bloginfo('stylesheet_url');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   235
    $content .= "\" />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   236
    $content .= "\n\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   237
    echo apply_filters('thematic_create_stylesheet', $content);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   238
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   239
0d28b7c10758 First commit
ymh
parents:
diff changeset
   240
0d28b7c10758 First commit
ymh
parents:
diff changeset
   241
// rss usage is switchable using a filter
0d28b7c10758 First commit
ymh
parents:
diff changeset
   242
function thematic_show_rss() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   243
    $display = TRUE;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   244
    $display = apply_filters('thematic_show_rss', $display);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   245
    if ($display) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   246
        $content = "\t";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   247
        $content .= "<link rel=\"alternate\" type=\"application/rss+xml\" href=\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   248
        $content .= get_bloginfo('rss2_url');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   249
        $content .= "\" title=\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   250
        $content .= wp_specialchars(get_bloginfo('name'), 1);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   251
        $content .= " " . __('Posts RSS feed', 'thematic');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   252
        $content .= "\" />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   253
        $content .= "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   254
        echo apply_filters('thematic_rss', $content);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   255
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   256
} // end thematic_show_rss
0d28b7c10758 First commit
ymh
parents:
diff changeset
   257
0d28b7c10758 First commit
ymh
parents:
diff changeset
   258
0d28b7c10758 First commit
ymh
parents:
diff changeset
   259
// comments rss usage is switchable using a filter
0d28b7c10758 First commit
ymh
parents:
diff changeset
   260
function thematic_show_commentsrss() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   261
    $display = TRUE;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   262
    $display = apply_filters('thematic_show_commentsrss', $display);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   263
    if ($display) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   264
        $content = "\t";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   265
        $content .= "<link rel=\"alternate\" type=\"application/rss+xml\" href=\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   266
        $content .= get_bloginfo('comments_rss2_url');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   267
        $content .= "\" title=\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   268
        $content .= wp_specialchars(get_bloginfo('name'), 1);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   269
        $content .= " " . __('Comments RSS feed', 'thematic');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   270
        $content .= "\" />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   271
        $content .= "\n\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   272
        echo apply_filters('thematic_commentsrss', $content);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   273
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   274
} // end thematic_show_commentsrss
0d28b7c10758 First commit
ymh
parents:
diff changeset
   275
0d28b7c10758 First commit
ymh
parents:
diff changeset
   276
0d28b7c10758 First commit
ymh
parents:
diff changeset
   277
// pingback usage is switchable using a filter
0d28b7c10758 First commit
ymh
parents:
diff changeset
   278
function thematic_show_pingback() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   279
    $display = TRUE;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   280
    $display = apply_filters('thematic_show_pingback', $display);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   281
    if ($display) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   282
        $content = "\t";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   283
        $content .= "<link rel=\"pingback\" href=\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   284
        $content .= get_bloginfo('pingback_url');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   285
        $content .= "\" />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   286
        $content .= "\n\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   287
        echo apply_filters('thematic_pingback_url',$content);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   288
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   289
} // end thematic_show_pingback
0d28b7c10758 First commit
ymh
parents:
diff changeset
   290
0d28b7c10758 First commit
ymh
parents:
diff changeset
   291
0d28b7c10758 First commit
ymh
parents:
diff changeset
   292
// comment reply usage is switchable using a filter
0d28b7c10758 First commit
ymh
parents:
diff changeset
   293
function thematic_show_commentreply() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   294
    $display = TRUE;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   295
    $display = apply_filters('thematic_show_commentreply', $display);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   296
    if ($display)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   297
        if ( is_singular() ) 
0d28b7c10758 First commit
ymh
parents:
diff changeset
   298
            wp_enqueue_script( 'comment-reply' ); // support for comment threading
0d28b7c10758 First commit
ymh
parents:
diff changeset
   299
} // end thematic_show_commentreply
0d28b7c10758 First commit
ymh
parents:
diff changeset
   300
0d28b7c10758 First commit
ymh
parents:
diff changeset
   301
0d28b7c10758 First commit
ymh
parents:
diff changeset
   302
// Load scripts for the jquery Superfish plugin http://users.tpg.com.au/j_birch/plugins/superfish/#examples
0d28b7c10758 First commit
ymh
parents:
diff changeset
   303
function thematic_head_scripts() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   304
    $scriptdir_start = "\t";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   305
		$scriptdir_start .= '<script type="text/javascript" src="';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   306
    $scriptdir_start .= get_bloginfo('template_directory');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   307
    $scriptdir_start .= '/library/scripts/';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   308
    
0d28b7c10758 First commit
ymh
parents:
diff changeset
   309
    $scriptdir_end = '"></script>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   310
    
0d28b7c10758 First commit
ymh
parents:
diff changeset
   311
    $scripts = "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   312
    $scripts .= $scriptdir_start . 'hoverIntent.js' . $scriptdir_end . "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   313
    $scripts .= $scriptdir_start . 'superfish.js' . $scriptdir_end . "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   314
    $scripts .= $scriptdir_start . 'supersubs.js' . $scriptdir_end . "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   315
    $dropdown_options = $scriptdir_start . 'thematic-dropdowns.js' . $scriptdir_end . "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   316
    
0d28b7c10758 First commit
ymh
parents:
diff changeset
   317
    $scripts = $scripts . apply_filters('thematic_dropdown_options', $dropdown_options);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   318
0d28b7c10758 First commit
ymh
parents:
diff changeset
   319
		$scripts .= "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   320
		$scripts .= "\t";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   321
		$scripts .= '<script type="text/javascript">' . "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   322
		$scripts .= "\t\t";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   323
		$scripts .= 'jQuery.noConflict();' . "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   324
		$scripts .= "\t";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   325
		$scripts .= '</script>' . "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   326
0d28b7c10758 First commit
ymh
parents:
diff changeset
   327
    // Print filtered scripts
0d28b7c10758 First commit
ymh
parents:
diff changeset
   328
    print apply_filters('thematic_head_scripts', $scripts);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   329
0d28b7c10758 First commit
ymh
parents:
diff changeset
   330
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   331
add_action('wp_head','thematic_head_scripts');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   332
0d28b7c10758 First commit
ymh
parents:
diff changeset
   333
0d28b7c10758 First commit
ymh
parents:
diff changeset
   334
// Add ID and CLASS attributes to the first <ul> occurence in wp_page_menu
0d28b7c10758 First commit
ymh
parents:
diff changeset
   335
function thematic_add_menuclass($ulclass) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   336
	return preg_replace('/<ul>/', '<ul class="sf-menu">', $ulclass, 1);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   337
} // end thematic_add_menuclass
0d28b7c10758 First commit
ymh
parents:
diff changeset
   338
add_filter('wp_page_menu','thematic_add_menuclass');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   339
0d28b7c10758 First commit
ymh
parents:
diff changeset
   340
0d28b7c10758 First commit
ymh
parents:
diff changeset
   341
// Just after the opening body tag, before anything else.
0d28b7c10758 First commit
ymh
parents:
diff changeset
   342
function thematic_before() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   343
    do_action('thematic_before');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   344
} // end thematic_before
0d28b7c10758 First commit
ymh
parents:
diff changeset
   345
0d28b7c10758 First commit
ymh
parents:
diff changeset
   346
0d28b7c10758 First commit
ymh
parents:
diff changeset
   347
// Just before the header div
0d28b7c10758 First commit
ymh
parents:
diff changeset
   348
function thematic_aboveheader() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   349
    do_action('thematic_aboveheader');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   350
} // end thematic_aboveheader
0d28b7c10758 First commit
ymh
parents:
diff changeset
   351
0d28b7c10758 First commit
ymh
parents:
diff changeset
   352
0d28b7c10758 First commit
ymh
parents:
diff changeset
   353
// Used to hook in the HTML and PHP that creates the content of div id="header">
0d28b7c10758 First commit
ymh
parents:
diff changeset
   354
function thematic_header() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   355
    do_action('thematic_header');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   356
} // end thematic_header
0d28b7c10758 First commit
ymh
parents:
diff changeset
   357
0d28b7c10758 First commit
ymh
parents:
diff changeset
   358
0d28b7c10758 First commit
ymh
parents:
diff changeset
   359
// Functions that hook into thematic_header()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   360
0d28b7c10758 First commit
ymh
parents:
diff changeset
   361
		// Open #branding
0d28b7c10758 First commit
ymh
parents:
diff changeset
   362
		// In the header div
0d28b7c10758 First commit
ymh
parents:
diff changeset
   363
		function thematic_brandingopen() { ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   364
		    	<div id="branding">
0d28b7c10758 First commit
ymh
parents:
diff changeset
   365
		<?php }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   366
		add_action('thematic_header','thematic_brandingopen',1);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   367
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   368
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   369
		// Create the blog title
0d28b7c10758 First commit
ymh
parents:
diff changeset
   370
		// In the header div
0d28b7c10758 First commit
ymh
parents:
diff changeset
   371
		function thematic_blogtitle() { ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   372
		    		<div id="blog-title"><span><a href="<?php bloginfo('url') ?>/" title="<?php bloginfo('name') ?>" rel="home"><?php bloginfo('name') ?></a></span></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   373
		<?php }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   374
		add_action('thematic_header','thematic_blogtitle',3);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   375
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   376
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   377
		// Create the blog description
0d28b7c10758 First commit
ymh
parents:
diff changeset
   378
		// In the header div
0d28b7c10758 First commit
ymh
parents:
diff changeset
   379
		function thematic_blogdescription() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   380
		    		if (is_home() || is_front_page()) { ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   381
		    		<h1 id="blog-description"><?php bloginfo('description') ?></h1>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   382
		    		<?php } else { ?>	
0d28b7c10758 First commit
ymh
parents:
diff changeset
   383
		    		<div id="blog-description"><?php bloginfo('description') ?></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   384
		    		<?php }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   385
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   386
		add_action('thematic_header','thematic_blogdescription',5);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   387
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   388
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   389
		// Close #branding
0d28b7c10758 First commit
ymh
parents:
diff changeset
   390
		// In the header div
0d28b7c10758 First commit
ymh
parents:
diff changeset
   391
		function thematic_brandingclose() { ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   392
		    	</div><!--  #branding -->
0d28b7c10758 First commit
ymh
parents:
diff changeset
   393
		<?php }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   394
		add_action('thematic_header','thematic_brandingclose',7);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   395
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   396
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   397
		// Create #access
0d28b7c10758 First commit
ymh
parents:
diff changeset
   398
		// In the header div
0d28b7c10758 First commit
ymh
parents:
diff changeset
   399
		function thematic_access() { ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   400
		    	<div id="access">
0d28b7c10758 First commit
ymh
parents:
diff changeset
   401
		    		<div class="skip-link"><a href="#content" title="<?php _e('Skip navigation to the content', 'thematic'); ?>"><?php _e('Skip to content', 'thematic'); ?></a></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   402
		            <?php wp_page_menu('sort_column=menu_order') ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   403
		        </div><!-- #access -->
0d28b7c10758 First commit
ymh
parents:
diff changeset
   404
		<?php }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   405
		add_action('thematic_header','thematic_access',9);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   406
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   407
0d28b7c10758 First commit
ymh
parents:
diff changeset
   408
// End of functions that hook into thematic_header()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   409
0d28b7c10758 First commit
ymh
parents:
diff changeset
   410
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   411
// Just after the header div
0d28b7c10758 First commit
ymh
parents:
diff changeset
   412
function thematic_belowheader() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   413
    do_action('thematic_belowheader');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   414
} // end thematic_belowheader
0d28b7c10758 First commit
ymh
parents:
diff changeset
   415
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   416
0d28b7c10758 First commit
ymh
parents:
diff changeset
   417
?>