我正在构建一个儿童主题,目前它有一个非常简单的<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\'
) ?
还是我应该做些别的事情?
最合适的回答,由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\' );
}