Two title tags in my header

时间:2015-03-22 作者:Django Reinhardt

我正在构建一个儿童主题,目前它有一个非常简单的<head> 标题中的节。php:

<head>
  <meta charset="<?php bloginfo( \'charset\' ); ?>">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <title><?php wp_title( \'|\', true, \'right\' ); ?></title>
  <link rel="profile" href="http://gmpg.org/xfn/11">
  <link rel="pingback" href="<?php bloginfo( \'pingback_url\' ); ?>">
  <!--[if lt IE 9]>
  <script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/html5shiv.min.js"></script>
  <![endif]-->

  <?php wp_head(); ?>
</head>
我猜是吧wp_head() 负责第二个<title> 元素(它出现在最终的HTML中),但我读到的其他内容表明这是不可能的。

我应该删除<title> 从我的标题。php,或者我应该向函数中添加一些内容来删除标题wp_head() (例如。remove_action(\'wp_head\', \'title\') ?

还是我应该做些别的事情?

2 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

这两个标题标签可以解释为您使用的主题是为Wordpress4编写的。实际使用的是4.1。从4.1开始,您无需致电wp_title() 在头脑中,你可以利用新的title_tag 主题支持标签,自动添加wp_title() 标题中的标记

您正在使用的父主题很可能已经在这样做了。查看您的函数。这行代码的php

add_theme_support( \'title-tag\' );
作为解决方案,复制父主题header.php 只需删除wp_title() 来自子主题的函数header.php

这里还有一个很好的向后兼容性功能,对父主题开发人员很有用:(摘自codex)

 if ( ! function_exists( \'_wp_render_title_tag\' ) ) {
    function theme_slug_render_title() 
    {
        ?>
        <title>
            <?php wp_title( \'|\', true, \'right\' ); ?>
        </title>
        <?php
    }
    add_action( \'wp_head\', \'theme_slug_render_title\' );
}

SO网友:vunguyen

function.php 主题注释代码中的文件

//add_theme_support( \'title-tag\' );

结束

相关推荐

在_title()中获取帖子ID的安全方法

有没有安全的方法把帖子ID放进去the_title()?add_filter(\'the_title\', \"change_post_title\"); function change_post_title($title){ } 我试过使用global $post 和get_the_ID(), 但这在某些情况下不起作用(例如,在单个页面上the_title() 正在导航中调用以链接到下一篇文章。global $post 和get_the_ID() 将引用单个