Yoast SEO插件在哪里设置站点/页面标题
Yoast SEO插件添加了两个过滤标题的挂钩。
add_filter( \'pre_get_document_title\', array( $this, \'title\' ), 15 );
add_filter( \'wp_title\', array( $this, \'title\' ), 15, 3 );
The
pre_get_document_title
钩子是在WordPress 4.4中添加的,所以在旧版本中,钩子永远不会被触发。
对于4.4之前的版本wp_title
钩子将生成SEO标题
对于4.4以上的版本pre_get_document_title
钩子将生成SEO标题。
这个wp_title
钩子仍然会在比4.4更新的版本上启动,但它不会做任何事情,因为如果我们看看WPSEO_Frontend::title() 方法,请注意,如果已经设置了$title属性,它将简单地返回该属性。如果未设置,它将使用WPSEO_Frontend::generate_title() 方法
如何更改SEO标题
要修改SEO标题,您需要在Yoast生成标题之后,但在其输出之前进行挂钩。Yoast SEO最新发布的标题是
wp_title
挂接优先级为15。在所有
wp_title
已处理挂钩。所以我们需要
wp_title
之后15。
如果要更改其他插件中的标题,只需将以下代码添加到插件中即可:
如果要更改主题中的标题,请将以下内容添加到函数中。php文件:
//* Hooking after priority 15 guarantees that Yoast SEO has generated the title
add_filter( \'wp_title\', \'wpse_258323_title\', 20, 2 );
function wpse_258323_title( $title, $post_id ) {
//* Do something with the $title
return $title;
}