/** * Create the page title. * * Echoes the title of the webpage for specific queries. The markup is conditionally set using template tags. * Located in templates: archive.php, attachement.php, author.php, category.php, search.php, tag.php * * Override: childtheme_override_page_title <br> * Filter: thematic_page_title * * @todo review and remove possiblity for displaying an empty div for archive-meta */ function thematic_page_title() { global $post; $content = "\t\t\t\t"; if (is_attachment()) { $content .= '<h2 class="page-title"><a href="'; $content .= apply_filters('the_permalink', get_permalink($post->post_parent)); $content .= '" rev="attachment"><span class="meta-nav">« </span>'; $content .= get_the_title($post->post_parent); $content .= '</a></h2>'; } elseif (is_author()) { $content .= '<h1 class="page-title author">'; $author = get_the_author_meta('display_name', $post->post_author); $content .= __('Author Archives:', 'thematic'); $content .= ' <span>' . $author . '</span>'; $content .= '</h1>'; } elseif (is_category()) { $content .= '<h1 class="page-title">'; $content .= __('Category Archives:', 'thematic'); $content .= ' <span>' . single_cat_title('', FALSE) . '</span>'; $content .= '</h1>' . "\n"; $content .= "\n\t\t\t\t" . '<div class="archive-meta">'; if (!('' == category_description())) { $content .= apply_filters('archive_meta', category_description()); } $content .= '</div>'; } elseif (is_search()) { $content .= '<h1 class="page-title">'; $content .= __('Search Results for:', 'thematic'); $content .= ' <span id="search-terms">' . get_search_query() . '</span>'; $content .= '</h1>'; } elseif (is_tag()) { $content .= '<h1 class="page-title">'; $content .= __('Tag Archives:', 'thematic'); $content .= ' <span>'; $content .= single_tag_title('', false); $content .= '</span></h1>'; } elseif (is_tax()) { global $taxonomy; $content .= '<h1 class="page-title">'; $tax = get_taxonomy($taxonomy); $content .= $tax->labels->singular_name . ' '; $content .= __('Archives:', 'thematic'); $content .= ' <span>' . thematic_get_term_name() . '</span>'; $content .= '</h1>'; } elseif (is_post_type_archive()) { $content .= '<h1 class="page-title">'; $post_type_obj = get_post_type_object(get_post_type()); $post_type_name = $post_type_obj->labels->singular_name; $content .= __('Archives:', 'thematic'); $content .= ' <span>' . $post_type_name . '</span>'; $content .= '</h1>'; } elseif (is_day()) { $content .= '<h1 class="page-title">'; $content .= sprintf(__('Daily Archives: %s', 'thematic'), '<span>' . get_the_time(get_option('date_format'))) . '</span>'; $content .= '</h1>'; } elseif (is_month()) { $content .= '<h1 class="page-title">'; $content .= sprintf(__('Monthly Archives: %s', 'thematic'), '<span>' . get_the_time('F Y')) . '</span>'; $content .= '</h1>'; } elseif (is_year()) { $content .= '<h1 class="page-title">'; $content .= sprintf(__('Yearly Archives: %s', 'thematic'), '<span>' . get_the_time('Y')) . '</span>'; $content .= '</h1>'; } $content .= "\n"; echo apply_filters('thematic_page_title', $content); }
function thematic_body_class($print = true) { global $wp_query, $current_user, $blog_id, $post, $taxonomy; $c = array(); if (apply_filters('thematic_show_bc_wordpress', TRUE)) { // It's surely a WordPress blog, right? $c[] = 'wordpress'; } if (apply_filters('thematic_show_bc_blogid', TRUE)) { // Applies the blog id to BODY element .. blog-id1 for WordPress < 3.0 $c[] = 'blogid-' . $blog_id; } if (apply_filters('thematic_show_bc_datetime', TRUE)) { // Applies the time- and date-based classes (below) to BODY element thematic_date_classes(time(), $c); } if (apply_filters('thematic_show_bc_contenttype', TRUE)) { // Generic semantic classes for what type of content is displayed is_front_page() ? $c[] = 'home' : null; // For the front page, if set is_home() ? $c[] = 'blog' : null; // For the blog posts page, if set is_archive() ? $c[] = 'archive' : null; is_date() ? $c[] = 'date' : null; is_search() ? $c[] = 'search' : null; is_paged() ? $c[] = 'paged' : null; is_attachment() ? $c[] = 'attachment' : null; is_404() ? $c[] = 'four04' : null; // CSS does not allow a digit as first character } if (apply_filters('thematic_show_bc_singular', TRUE)) { // Special classes for BODY element when a singular post if (is_singular()) { $c[] = 'singular'; } else { $c[] = 'not-singular'; } } // Special classes for BODY element when a single post if (is_single() && apply_filters('thematic_show_bc_singlepost', TRUE)) { $postID = $wp_query->post->ID; the_post(); // Adds post slug class, prefixed by 'slug-' $c[] = $wp_query->post->post_name; // Adds 'single' class and class with the post ID $c[] = 'single postid-' . $postID; // Adds classes for the month, day, and hour when the post was published if (isset($wp_query->post->post_date)) { thematic_date_classes(mysql2date('U', $wp_query->post->post_date), $c, 's-'); } // Adds category classes for each category on single posts if ($cats = get_the_category()) { foreach ($cats as $cat) { $c[] = 's-category-' . $cat->slug; } } // Adds tag classes for each tag on single posts if ($tags = get_the_tags()) { foreach ($tags as $tag) { $c[] = 's-tag-' . $tag->slug; } } // Adds taxonomy classes for each term on single posts $single_post_type = get_post_type_object(get_post_type($post->ID)); // Check for post types without taxonomy inclusion if (isset($single_post_type->taxonomy)) { if ($tax = get_the_terms($post->ID, get_post_taxonomies())) { foreach ($tax as $term) { // Remove tags and categories from results if ($term->taxonomy != 'post_tag') { if ($term->taxonomy != 'category') { $c[] = 's-tax-' . $term->taxonomy; $c[] = 's-' . $term->taxonomy . '-' . $term->slug; } } } } } // Adds MIME-specific classes for attachments if (is_attachment()) { $mime_type = get_post_mime_type(); $mime_prefix = array('application/', 'image/', 'text/', 'audio/', 'video/', 'music/'); $c[] = 'attachmentid-' . $postID . ' attachment-' . str_replace($mime_prefix, "", "{$mime_type}"); } // Adds author class for the post author $c[] = 's-author-' . sanitize_title_with_dashes(strtolower(get_the_author_meta('user_nicename', $post->post_author))); rewind_posts(); // For posts with excerpts if (has_excerpt()) { $c[] = 's-has-excerpt'; } // For posts with comments open or closed if (comments_open()) { $c[] = 's-comments-open'; } else { $c[] = 's-comments-closed'; } // For posts with pings open or closed if (pings_open()) { $c[] = 's-pings-open'; } else { $c[] = 's-pings-closed'; } // For password-protected posts if ($post->post_password) { $c[] = 's-protected'; } // For sticky posts if (is_sticky()) { $c[] = 's-sticky'; } } elseif (is_author() && apply_filters('thematic_show_bc_authorarchives', TRUE)) { $author = $wp_query->get_queried_object(); $c[] = 'author'; $c[] = 'author-' . $author->user_nicename; } elseif (is_category() && apply_filters('thematic_show_bc_categoryarchives', TRUE)) { $cat = $wp_query->get_queried_object(); $c[] = 'category'; $c[] = 'category-' . $cat->slug; } elseif (is_tag() && apply_filters('thematic_show_bc_tagarchives', TRUE)) { $tags = $wp_query->get_queried_object(); $c[] = 'tag'; $c[] = 'tag-' . $tags->slug; } elseif (is_tax() && apply_filters('thematic_show_bc_taxonomyarchives', TRUE)) { $c[] = 'taxonomy'; $c[] = 'tax-' . $taxonomy; $c[] = $taxonomy . '-' . strtolower(thematic_get_term_name()); } elseif (is_page() && apply_filters('thematic_show_bc_pages', TRUE)) { $pageID = $wp_query->post->ID; $page_children = wp_list_pages("child_of={$pageID}&echo=0"); the_post(); // Adds post slug class, prefixed by 'slug-' //$c[] = 'slug-' . $wp_query->post->post_name; $c[] = $wp_query->post->post_name; $c[] = 'page pageid-' . $pageID; $c[] = 'page-author-' . sanitize_title_with_dashes(strtolower(get_the_author_meta('user_nicename', $post->post_author))); // Checks to see if the page has children and/or is a child page; props to Adam if ($page_children) { $c[] = 'page-parent'; } if ($wp_query->post->post_parent) { $c[] = 'page-child parent-pageid-' . $wp_query->post->post_parent; } // For pages with excerpts if (has_excerpt()) { $c[] = 'page-has-excerpt'; } // For pages with comments open or closed if (comments_open()) { $c[] = 'page-comments-open'; } else { $c[] = 'page-comments-closed'; } // For pages with pings open or closed if (pings_open()) { $c[] = 'page-pings-open'; } else { $c[] = 'page-pings-closed'; } // For password-protected pages if ($post->post_password) { $c[] = 'page-protected'; } // Checks to see if the page is using a template if (is_page_template() & !is_page_template('default')) { $c[] = 'page-template page-template-' . str_replace('.php', '-php', get_post_meta($pageID, '_wp_page_template', true)); } rewind_posts(); } elseif (is_search() && apply_filters('thematic_show_bc_search', TRUE)) { the_post(); if ($wp_query->found_posts > 0) { $c[] = 'search-results'; } else { $c[] = 'search-no-results'; } rewind_posts(); } if (apply_filters('thematic_show_bc_loggedin', TRUE)) { // For when a visitor is logged in while browsing if ($current_user->ID) { $c[] = 'loggedin'; } } // Paged classes; for page x > 1 classes of index and all post types etc. if (apply_filters('thematic_show_bc_pagex', TRUE)) { if ((($page = $wp_query->get('paged')) || ($page = $wp_query->get('page'))) && $page > 1) { // Thanks to Prentiss Riddle, twitter.com/pzriddle, for the security fix below. $page = intval($page); // Ensures that an integer (not some dangerous script) is passed for the variable $c[] = 'paged-' . $page; if (thematic_is_custom_post_type()) { $c[] = str_replace('_', '-', $post->post_type) . '-paged-' . $page; } elseif (is_single() && $post->post_type == "post") { $c[] = 'single-paged-' . $page; } elseif (is_page()) { $c[] = 'page-paged-' . $page; } elseif (is_category()) { $c[] = 'category-paged-' . $page; } elseif (is_tag()) { $c[] = 'tag-paged-' . $page; } elseif (is_tax()) { $c[] = 'taxonomy-paged-' . $page; } elseif (is_date()) { $c[] = 'date-paged-' . $page; } elseif (is_author()) { $c[] = 'author-paged-' . $page; } elseif (is_search()) { $c[] = 'search-paged-' . $page; } // Paged classes; for page x = 1 For all post types } elseif (strpos($post->post_content, '<!--nextpage-->')) { if (thematic_is_custom_post_type()) { $c[] = str_replace('_', '-', $post->post_type) . '-paged-1'; } elseif (is_page()) { $c[] = 'page-paged-1'; } elseif (is_single()) { $c[] = 'single-paged-1'; } } } // Separates classes with a single space, collates classes for BODY $c = join(' ', apply_filters('thematic_body_class', $c)); // Available filter: thematic_body_class // And tada! return $print ? print $c : $c; }
function thematic_page_title() { global $post; $content = ''; if (is_attachment()) { $content .= '<h2 class="page-title"><a href="'; $content .= apply_filters('the_permalink', get_permalink($post->post_parent)); $content .= '" rev="attachment"><span class="meta-nav">« </span>'; $content .= get_the_title($post->post_parent); $content .= '</a></h2>'; } elseif (is_author()) { $content .= '<h1 class="page-title author">'; $author = get_the_author_meta('display_name'); $content .= __('Author Archives: ', 'thematic'); $content .= '<span>'; $content .= $author; $content .= '</span></h1>'; } elseif (is_category()) { $content .= '<h1 class="page-title">'; $content .= __('Category Archives:', 'thematic'); $content .= ' <span>'; $content .= single_cat_title('', FALSE); $content .= '</span></h1>' . "\n"; $content .= '<div class="archive-meta">'; if (!('' == category_description())) { $content .= apply_filters('archive_meta', category_description()); } $content .= '</div>'; } elseif (is_search()) { $content .= '<h1 class="page-title">'; $content .= __('Search Results for:', 'thematic'); $content .= ' <span id="search-terms">'; $content .= esc_html(stripslashes($_GET['s'])); $content .= '</span></h1>'; } elseif (is_tag()) { $content .= '<h1 class="page-title">'; $content .= __('Tag Archives:', 'thematic'); $content .= ' <span>'; $content .= __(thematic_tag_query()); $content .= '</span></h1>'; } elseif (is_tax()) { global $taxonomy; $content .= '<h1 class="page-title">'; $tax = get_taxonomy($taxonomy); $content .= $tax->labels->name . ' '; $content .= __('Archives:', 'thematic'); $content .= ' <span>'; $content .= thematic_get_term_name(); $content .= '</span></h1>'; } elseif (is_day()) { $content .= '<h1 class="page-title">'; $content .= sprintf(__('Daily Archives: <span>%s</span>', 'thematic'), get_the_time(get_option('date_format'))); $content .= '</h1>'; } elseif (is_month()) { $content .= '<h1 class="page-title">'; $content .= sprintf(__('Monthly Archives: <span>%s</span>', 'thematic'), get_the_time('F Y')); $content .= '</h1>'; } elseif (is_year()) { $content .= '<h1 class="page-title">'; $content .= sprintf(__('Yearly Archives: <span>%s</span>', 'thematic'), get_the_time('Y')); $content .= '</h1>'; } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { $content .= '<h1 class="page-title">'; $content .= __('Blog Archives', 'thematic'); $content .= '</h1>'; } $content .= "\n"; echo apply_filters('thematic_page_title', $content); }