/**
 * 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} ");
}
Exemple #2
0
/**
 * 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);
}
Exemple #3
0
/**
 * Print the hour archive title.
 *
 * @since  2.0.0
 * @access public
 * @return void
 */
function hybrid_single_hour_title()
{
    echo hybrid_get_single_hour_title();
}