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
标签内添加上面的代码。