部分标题重复,但不确定如何从代码中删除-帮助?

时间:2016-05-17 作者:hjarta

我继承了一个办公室里没人能解决的问题。

我们公司网站的页面标题格式为“页面名称公司名称-公司名称”公司名称的第一个实例是重复的,需要删除(它应该是Page Name-Company Name),但我不确定如何继续查看代码。这是一个自定义WP主题,是2014年股票主题的子主题。这个标题代码片段中有什么突出的地方吗?

<title>
       <?php
          if (function_exists(\'is_tag\') && is_tag()) {
             single_tag_title("Tag Archive for &quot;"); echo \'&quot; - \'; }
          elseif (is_archive()) {
             wp_title(\'\'); echo \' Archive - \'; }
          elseif (is_search()) {
             echo \'Search for &quot;\'.wp_specialchars($s).\'&quot; - \'; }
          elseif (!(is_404()) && (is_single()) || (is_page())) {
             wp_title(\'\'); echo \' - \'; }
          elseif (is_404()) {
             echo \'Not Found - \'; }

          if (is_home()) {
             bloginfo(\'name\'); echo \' - \'; bloginfo(\'description\'); }
          else {
              bloginfo(\'name\'); }
          if ($paged>1) {
             echo \' - page \'. $paged; }
       ?>
</title>

2 个回复
SO网友:Howdy_McGee

你在一个页面上,如果我们通读条件列表,它应该特别针对以下条件:

elseif( ! ( is_404() ) && ( is_single() ) || ( is_page() ) ) {
    wp_title( \'\' );
    echo \' - \';
}
它还将在下一集中达到以下条件:

else {
    bloginfo( \'name\' );
}
给定页面Test Page 我们应该看看Page Name - Company Name 但“父代214”主题启用了此过滤器wp_title():

function twentyfourteen_wp_title( $title, $sep ) {
    global $paged, $page;

    if ( is_feed() ) {
        return $title;
    }

    // Add the site name.
    $title .= get_bloginfo( \'name\', \'display\' );

    // Add the site description for the home/front page.
    $site_description = get_bloginfo( \'description\', \'display\' );
    if ( $site_description && ( is_home() || is_front_page() ) ) {
        $title = "$title $sep $site_description";
    }

    // Add a page number if necessary.
    if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() ) {
        $title = "$title $sep " . sprintf( __( \'Page %s\', \'twentyfourteen\' ), max( $paged, $page ) );
    }

    return $title;
}
add_filter( \'wp_title\', \'twentyfourteen_wp_title\', 10, 2 );
请注意,它还将网站名称附加到标题(直接在feed条件之后),这就是为什么我们最终会看到两次公司名称。您可以注释掉以上行以删除重复项。

function twentyfourteen_wp_title( $title, $sep ) {
    global $paged, $page;

    if ( is_feed() ) {
        return $title;
    }

    // DONT Add the site name.
    // $title .= get_bloginfo( \'name\', \'display\' );

    // Add the site description for the home/front page.
    $site_description = get_bloginfo( \'description\', \'display\' );
    if ( $site_description && ( is_home() || is_front_page() ) ) {
        $title = "$title $sep $site_description";
    }

    // Add a page number if necessary.
    if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() ) {
        $title = "$title $sep " . sprintf( __( \'Page %s\', \'twentyfourteen\' ), max( $paged, $page ) );
    }

    return $title;
}
add_filter( \'wp_title\', \'twentyfourteen_wp_title\', 10, 2 );

SO网友:prosti

检查add_theme_support( \'title-tag\' );

https://make.wordpress.org/core/2014/10/29/title-tags-in-4-1/

function theme_slug_setup() {
   add_theme_support( \'title-tag\' );
}
add_action( \'after_setup_theme\', \'theme_slug_setup\' );
通过这样声明支持,themes承认他们并没有自己定义标题,WordPress可以安全地添加标题,而不会重复。