WordPress函数:页面标题title标签的获取,wp_get_document_title()、wp_title()和title-tag

WordPress 的 title 标签是用来定义页面标题的,wp_get_document_title()wp_title()title-tag都可以获取 WordPress 的 title 标签。但要注意,随着 WordPress 版本的迭代 wp_title() 已被弃用,目前主要使用的函数是 wp_get_document_title()。

wp_get_document_title()

基础用法

<title><?php echo wp_get_document_title(); ?></title>

WordPress 4.4.0版本开始,加入了新函数 wp_get_document_title(),使用时只需要将上方代码添加到在主题header.php/head标签前。

高级用法

<?php
    function custom_document_title_separator()
    {
        $separator = ' | '; //自定义的分隔符号
        return $separator;
    }
    add_filter('document_title_separator', 'custom_document_title_separator');

    function reform_page_title($title)
    {
        $title['tagline'] = 'Site description when on home page.'; //网站描述
        $title['page'] = 'Page number if paginated.';  //分页页码
        $title['site'] = 'Site title when not on home page.';  //不在首页时的网站标题
        return $title;
    }
    add_filter('document_title_parts', 'reform_page_title', 10, 1);
?>

在主题functions.php中添加如上代码,用来自定义分隔符号和对已生成的title标题进行二次修改。

注意事项

function disableYoastTitleRewrite() {
    if (class_exists('WPSEO_Frontend') {
        $wpseo_front = WPSEO_Frontend::get_instance();

        remove_filter( 'pre_get_document_title', array( $wpseo_front, 'title' ), 15 );
        remove_filter( 'wp_title', array( $wpseo_front, 'title' ), 15 );
    }
}
add_action( 'init', 'disableYoastTitleRewrite');

如果你使用了Yoast SEO插件,需要在激活插件后在主题的functions.php中添加上述代码(WPSEO (~3+) and WordPress (4.4+))阻止title被重写。

title-tag

WordPress 4.1.0 版本开始添了'title-tag'在主题中显示标题,用以取代之前的 wp_title() 函数,具体用法如下:

function add_theme_support_title(){
         add_theme_support( 'title-tag' );
}
add_action( 'after_setup_theme', 'add_theme_support_title' );

先在主题functions.php添加上述函数。

 <?php wp_head(); ?>

然后在主题头部文件header.php/head标签内添加上面的代码(如果已经有了就不用添加了)。

wp_title()

WordPress 4.4 将弃用 wp_title() 函数了,不再推荐你继续,这部分内容算是对 wp_title() 函数的一些记录吧。

在 wp_title() 中通常是在页面头部的 title 元素中。当 wp_title() 在主页主循环(loop)外时,可以用在模板的任何地方。

<?php wp_title( $sep, $echo, $seplocation ); ?> 

参数: $sep (字符串)(可选)显示在文章标题前后的文字信息(如分隔符)。

默认情况下(若分隔符被设为空)那么文章标题前后(由seplocation参数决定)会显示» (»)符号。 默认值: » (») $echo (布尔型)(可选)回应标题(True),或以PHP字符串形式返回标题(False)。

默认值:True 1 (True) ——默认值 0 (False) $seplocation (字符串)(可选)引入于WordPress 2.5,该参数决定sep字符串相对于文章标题的位置。除“right”外的所有值都会将sep放在文章标题前(左侧)。

如果 seplocation 的值为'right',那么sep字符串会显示在文章标题后。 默认值:None

范例一:

<title><?php wp_title( '|', true, 'right' ); ?></title>

在 WordPress 主题头部文件header.php/head标签内添加上面的代码。

范例二:

<title> 
   <?php 
         if (is_home()||is_search()) { bloginfo('name'); }//首页和搜索页显示网站名字,如 玩个机吧
         else{wp_title(''); echo ' | '; bloginfo('name');} //其它页面显示页面标题和网站名字,如 谋篇文章 WordPress函数 | 玩个机吧
    ?> 
 </title>

在 WordPress 主题头部文件header.php/head标签内添加上面的代码。

相关推荐

WordPress 函数:wp_enqueue_script() 安全引入 JS

WordPress 函数:wp_enqueue_script() 安全引入 JS

WordPress 主题最佳引用 js 文件的方法是使用 WordPress 内置的 wp_enqueue_script() 函数,通过该函数可以安全地将javascript 代码加入到 WordPress 创建的页面中,不仅可以最大限度地保证兼容性,还是提高 WordPress 性能效率的一个方法。 语法结构 参数 通过 wp_enqueue_script 函数加载 js 文件时,应该将它分配给一个 ...

WordPress 函数:全局变量$post、$page、$paged和$pages等

WordPress 函数:全局变量$post、$page、$paged和$pages等

WordPress 内置很多全局变量,如 $post、$page、$paged和$pages,几乎所有 WordPress 产生的数据都可以在全局变量中找到,合理利用这些变量,能对 WordPress 开发带来很多便利。 全局变量使用方法 访问 WordPress 中的全局变量 如果你想在你的代码中访问一个全局变量,首先做的事是把这个变量用global声明下: global $vari ...

WordPress 函数:判断页面的类型,如首页、文章页、搜索页

WordPress 函数:判断页面的类型,如首页、文章页、搜索页

WordPress 由首页、文章页、搜索页和404页面等页面组成,当你想在特有页面显示、隐藏、替换和加载某些内容,需要使用页面判断函数来判断。比如在文章页且仅在文章页显示某些内容时,可以使用函数 is_single() 判断。 WordPress 内置非常丰富的页面判断函数,下面列出的判断函数,在何种条件下的输出都是true,此外这些函数 ...

WordPress 函数:获取博客的常规设置get_bloginfo()、bloginfo()

WordPress 函数:获取博客的常规设置get_bloginfo()、bloginfo()

函数get_bloginfo()和bloginfo(),可以获取 WordPress 用户资料与常规设置中的信息,例如博客标题、博客地址url、WordPress版本等。 get_bloginfo()返回字符串用以调用,bloginfo()带有echo性质能立即输出。 函数用法 函数参数 $show (字符串 string) (可选) 关键字命名你想要的信息。 默认: name 'name' - 返回在 设置 > ...

微信扫一扫,分享到朋友圈

WordPress函数:页面标题title标签的获取,wp_get_document_title()、wp_title()和title-tag