/** * Filters the `wp_title` output early. Note that since WordPress 4.1.0 introduced the `_wp_render_title_tag()` * function, theme authors can no longer control this on their own. In the past, Hybrid Core defaulted to * a colon, so we're overwriting this regardless of what it was defined as. Later filters on `wp_title` can * change if needed. Since core is now defining the separator, this shouldn't be an issue. * * @since 2.0.0 * @access publc * @param string $title * @return string */ function hybrid_wp_title($doctitle) { // Custom separator for backwards compatibility. $separator = ':'; if (is_front_page()) { $doctitle = get_bloginfo('name') . $separator . ' ' . get_bloginfo('description'); } elseif (is_home() || is_singular()) { $doctitle = single_post_title('', false); } elseif (is_category()) { $doctitle = single_cat_title('', false); } elseif (is_tag()) { $doctitle = single_tag_title('', false); } elseif (is_tax()) { $doctitle = single_term_title('', false); } elseif (is_post_type_archive()) { $doctitle = post_type_archive_title('', false); } elseif (is_author()) { $doctitle = hybrid_get_single_author_title(); } elseif (get_query_var('minute') && get_query_var('hour')) { $doctitle = hybrid_get_single_minute_hour_title(); } elseif (get_query_var('minute')) { $doctitle = hybrid_get_single_minute_title(); } elseif (get_query_var('hour')) { $doctitle = hybrid_get_single_hour_title(); } elseif (is_day()) { $doctitle = hybrid_get_single_day_title(); } elseif (get_query_var('w')) { $doctitle = hybrid_get_single_week_title(); } elseif (is_month()) { $doctitle = single_month_title(' ', false); } elseif (is_year()) { $doctitle = hybrid_get_single_year_title(); } elseif (is_archive()) { $doctitle = hybrid_get_single_archive_title(); } elseif (is_search()) { $doctitle = hybrid_get_search_title(); } elseif (is_404()) { $doctitle = hybrid_get_404_title(); } // If the current page is a paged page. if ((($page = get_query_var('paged')) || ($page = get_query_var('page'))) && $page > 1) { // Translators: 1 is the page title. 2 is the page number. $doctitle = sprintf(__('%1$s Page %2$s', 'hybrid-core'), $doctitle . $separator, number_format_i18n(absint($page))); } // Trim separator + space from beginning and end. return trim(strip_tags($doctitle), "{$separator} "); }
/** * Filters `get_the_archve_title` to add better archive titles than core. * * @since 3.0.0 * @access public * @param string $title * @return string */ function hybrid_archive_title_filter($title) { if (is_home() && !is_front_page()) { $title = get_post_field('post_title', get_queried_object_id()); } elseif (is_category()) { $title = single_cat_title('', false); } elseif (is_tag()) { $title = single_tag_title('', false); } elseif (is_tax()) { $title = single_term_title('', false); } elseif (is_author()) { $title = hybrid_get_single_author_title(); } elseif (is_search()) { $title = hybrid_get_search_title(); } elseif (is_post_type_archive()) { $title = post_type_archive_title('', false); } elseif (get_query_var('minute') && get_query_var('hour')) { $title = hybrid_get_single_minute_hour_title(); } elseif (get_query_var('minute')) { $title = hybrid_get_single_minute_title(); } elseif (get_query_var('hour')) { $title = hybrid_get_single_hour_title(); } elseif (is_day()) { $title = hybrid_get_single_day_title(); } elseif (get_query_var('w')) { $title = hybrid_get_single_week_title(); } elseif (is_month()) { $title = single_month_title(' ', false); } elseif (is_year()) { $title = hybrid_get_single_year_title(); } elseif (is_archive()) { $title = hybrid_get_single_archive_title(); } return apply_filters('hybrid_archive_title', $title); }
/** * Print the search results title. * * @since 2.0.0 * @access public * @return void */ function hybrid_search_title() { echo hybrid_get_search_title(); }