更改HTML<标题></TITLE>标记中的分隔符

时间:2017-04-02 作者:Toby

我正在使用WP 4.7.3和自定义模板集(mh magazine)。

默认情况下,WP设置标题标记,如“页面标题”-“博客标题”。

现在,出于布局原因,我只想将“-”替换为管道符号。因此,处理后的HTMl应该如下所示:

我的页面标题|我的博客标题

我认为这很容易实现,但我认为我需要一些帮助,因为我不是PHP或WP方面的专家。

3 个回复
最合适的回答,由SO网友:Paul \'Sparrow Hawk\' Biron 整理而成

这取决于你的主题header.php 是结构化的,但最可能的方式是通过document_title_separator 过滤器,如中所示

add_filter (\'document_title_separator\', \'wpse_set_document_title_separator\') ;

function
wpse_set_document_title_separator ($sep)
{
    return (\'|\') ;
}

SO网友:Fayaz

可能性1:如果你的主题有:

  1. add_theme_support( \'title-tag\' ); 在你的functions.php 文件,以及

  2. wp_head() 函数调用header.php 文件

    然后使用document_title_separator 过滤器将作为@Paul\'s answer 建议。

    如果过滤器在满足上述条件后仍不能工作,那么可能是插件覆盖了它。尝试增加过滤器的优先级,使其最后运行,如下所示:

    function wpse262196_document_title_separator( $sep ) {
        return \'|\';
    }
    add_filter( \'document_title_separator\', \'wpse262196_document_title_separator\', PHP_INT_MAX );
    
    或者如果document_title_separator 主题中已存在筛选器functions.php 文件,然后在那里更改它。

    可能性2:可能是你的主题不包括add_theme_support( \'title-tag\' ); 而是使用旧的<title><?php wp_title(); ?></title> 在里面header.php 文件

    在这种情况下,您可以按如下方式进行更改:<title><?php wp_title( \'|\' ); ?></title> 更改分隔符。

    Note: 强烈建议将其改回add_theme_support( \'title-tag\' );, 像wp_title() 可能会被弃用。

    此外,如果它不起作用,那么可能是您的a插件正在使用wp_title 滤器在这种情况下,请在主题中使用下面的过滤器functions.php 要更改行为的文件:

    function wpse262196_wp_title( $title, $sep, $seplocation ) {
        return str_replace( " $sep ", " | ", $title );
    }
    add_filter( \'wp_title\', \'wpse262196_wp_title\', PHP_INT_MAX );
    
    或者如果wp_title 主题中已存在筛选器functions.php 文件,然后在那里更改它。

    希望其中一个解决方案对您有效。

SO网友:Ian

如果您想选择插件路线,可以使用Yoast SEO 插件,这是一个免费和强大的搜索引擎优化工具。

Note: Yoast SEO is a full featured SEO plugin. So if you\'re not going to make use of the other SEO features of Yoast and changing the title separator is all you need, then this plugin will be overkill and the other answers given would be both much lighter weight and more appropriate for your needs.

<从WordPress repo安装它(在WordPress安装中最简单),就像其他插件一样。然后激活它Dashboard>功能,确保打开“高级设置页面”并点击save。Yoast - turn on Advanced SettingsTitle Separators

相关推荐

删除具有实际标题的SANITIZE_TITLE_WITH_DASSES函数

求你了,我真的需要帮助。下面的代码是在我的网站上将搜索查询保存为标记的代码,但它将标题替换为“-”,请问有什么方法可以使标记标题名称保持搜索状态?。function addsometags() { //Don\'t do anything if we\'ve already got 20 tags $posttags = get_the_tags(); $count=0; if ($posttags) { foreach($posttags as $tag