如何利用过滤document_title_parts来管理seo标题

导语:有时候需要对首页进行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/。

发表评论

邮箱地址不会被公开。 必填项已用*标注