我已经创建了一个Wordpress网站,标题工作得很好。后来,我注意到,在一些页面上,我把标题重复了两次。
错误页面标题示例:Contact-NAME | NAME
普通标题示例:我们的服务|名称
现在,如果我转到“常规设置”并更改标题,则两者都会更改,没有任何改进。Yoast的SEO有重置页面标题的选项,但这只是删除所有标题,将当前URL保留为页面标题,因此也没有什么好处。
以下是我最初的代码:<title><?php wp_title(\'\'); ?><?php if(wp_title(\'\', false)) { echo \' | \'; } ?><?php bloginfo(\'name\'); ?></title>
下面是我现在使用的代码:<title><?php wp_title(\'|\'); ?></title>
总之,我认为数据库中的某个地方重复了一个wp\\u标题:一次使用“-”作为分隔符,另一次(当前一个)使用“|”。
非常感谢您的帮助,谢谢!
最合适的回答,由SO网友:Chip Bennett 整理而成
为了更好地使用插件或其他试图修改HTML文档标题内容的代码(即。wp_title()
输出),您应该始终且仅输出以下内容:
<title><?php wp_title( \'\' ); ?></title>
。。。如果您想自己修改输出,请过滤
wp_title
而不是在
<title></title>
标签。
因此,对于您的示例代码:
<title><?php wp_title(\'\'); ?><?php if(wp_title(\'\', false)) { echo \' | \'; } ?><?php bloginfo(\'name\'); ?></title>
将所有这些替换为:
<title><?php wp_title( \'\' ); ?></title>
。。。然后将回调添加到
wp_title
过滤器:
function wpse72446_filter_wp_title( $title ) {
if ( \'\' == $title ) {
return get_bloginfo( \'name\' );
}
return $title;
}
add_filter( \'wp_title\', \'wpse72446_filter_wp_title\' );
这样,您的修改将很好地与任何插件配合使用
_doing_it_right()
(比如Yoast SEO)。