如何更改 WordPress 页面的标题?
问题:如何更改 WordPress 页面的标题? 背景:WordPress 5.4.5,Yoast 3.7.1 我是一名插件开发人员,可以访问客户的网站。该站点安装了 Yoast 3.7.1,我想知道这是否重要,因为无论我做什么,我都无法更改 404 页面的title。 现在在 StackOverflow 上的其他页面上已经提出了类似的问题(例如此处为,此处为和此处为例如),那些回答的人已询问对[
问题:如何更改 WordPress 页面的标题?
背景:WordPress 5.4.5,Yoast 3.7.1
我是一名插件开发人员,可以访问客户的网站。该站点安装了 Yoast 3.7.1,我想知道这是否重要,因为无论我做什么,我都无法更改 404 页面的title
。
现在在 StackOverflow 上的其他页面上已经提出了类似的问题(例如此处为,此处为和此处为例如),那些回答的人已询问对[10 的调用是否正确嵌入了一个[1z。以下是当前主题的header.php
中的内容:
<title><?php wp_title( '|', true, 'right' ); ?></title>
有趣的是,在我的404.php
页面中,wp_get_document_title()
告诉我文档标题是Page not found - XXXX
,尽管上面的wp_title
调用将分隔符指定为|
。 Yoast 对标题的重写已被禁用,因此我完全不确定该破折号来自何处。
我的插件执行 REST 调用并从场外提取内容以包含在页面中。该内容的一部分是要在title
中使用的文本。
在以前的客户网站上,我已经能够做到以下几点:
add_filter('wp_title', 'change_404_title');
function change_404_title($title) {
if (is_404())
{
global $plugin_title;
if (!empty($plugin_title))
{
$title = $plugin_title;
}
}
return $title;
}
但是,在这个网站上,这是行不通的。
我已经尝试过,根据正在使用的 WordPress 版本,挂钩pre_get_document_title
过滤器,即
add_filter('pre_get_document_title', 'change_404_title');
但再次无济于事。我目前正在阅读 Yoast ...
解答
wp_title
自 4.4 版起已弃用。所以我们应该使用新的过滤器pre_get_document_title
。您的代码看起来不错,但我对global $plugin_title
感到困惑。我宁愿让你先试试这个
add_filter('pre_get_document_title', 'change_404_title');
function change_404_title($title) {
if (is_404()) {
return 'My Custom Title';
}
return $title;
}
如果它不起作用,请尝试更改优先级以最近执行您的功能。
add_filter('pre_get_document_title', 'change_404_title', 50);
更多推荐
所有评论(0)