导语:有时候需要对首页进行SEO,那么我们可能会对标题做一些改动。在WordPress4.4以后,标题管理使用了新的方式。我们来看看在每一篇文章的标题都可以SEO标题的情况下,如何对首页的标题进行管理。
过滤文章标题的部分
我们来看看这个过滤器。
add_filter( 'document_title_parts', filter_function_name );
此过滤器可以来过滤文章标题的各个部分,它会传递一个数组变量 $title,参数如下:
数组变量 :$title (包括标题的各个部分)。
‘title’:使用形式 $title[‘title’]。
‘page’ :使用形式 $title[‘page’]。 可选。
‘tagline’:使用形式 $title[‘tagline’]。 可选。在首页上的时候,显示的网站描述。
‘site’:使用形式 $title[‘site’]。 可选。在非首页上的时候,显示的网站标题。
$title这个数组变量,是document_title_parts中自带的,当你自定义一个函数过滤它的时候,可以直接来使用这个变量。
具体的例子
function leaf_remove_tagline( $title ){ global $meta_title; if (!empty($meta_title)) { $title['title']=$meta_title; if( (is_home()||is_front_page()) && isset( $title['tagline'] ) ) { unset( $title['tagline'] ); $title['title']=$meta_title; } } return $title; } $GLOBALS['meta_title'] = $meta_title; add_filter( 'document_title_parts', 'leaf_remove_tagline' );
$meta_title是叶子自己定义的标题,用来SEO。如果在文章或分类等等中,文章的标题部分$title[‘title’]就直接等于SEO的标题,标题后面的内容不变,主要是指分隔符后面的网站标题$title[‘site’]。
在首页或者是静态首页中,文章的标题$title[‘title’]就直接等于SEO的标题$meta_title,分隔符、分隔符后面的$title[‘tagline’]都清空。
注意,这是指WordPress4.4以上版本使用了新的标题管理方式。
结束
如果还有疑问,请查看https://developer.wordpress.org/reference/hooks/document_title_parts/。