我知道还有其他类似问题, 但找不到可靠的答案。所以:
首先激活事物(简化代码):
add_action( 'after_setup_theme', 'theme_setup' );
function theme_setup() {
add_theme_support('title-tag');
}
其次, 从header.php中删除标题标签。
第三, 在页面模板上, 在调用get_header()之前, 添加如下内容:
add_filter('wp_title', 'set_custom_title', 10, 3);
function set_custom_title($title, $sep, $seplocation){
return 'test';
}
【为什么wp_title过滤器根本不起作用()】嗯, 在任何模板(页面, 档案, 自定义分类法或帖子类型档案)中, 这根本都不起作用。没什么。 WordPress本身会生成标题。
为什么?难道我做错了什么?请注意, 这段代码曾经可以使用:在其他站点/主题中使用。
这可能是wp5.2.0的问题吗?
#1对于仍然存在wp_title过滤器问题的任何人, 我建议添加更高的优先级值。较高的优先级值将确保你的过滤器已执行, 不会被主题或安装的插件中??的其他过滤器覆盖。请参见以下内容:(参考:https://developer.wordpress.org/reference/functions/add_filter/)
// the 9999999 priority value will force this filter to be executed closer to the end.A lower number corresponds with earlier execution
add_filter('wp_title', 'set_custom_title', 9999999, 3);
function set_custom_title($title, $sep, $seplocation){
return 'test';
}
#2因此, 感谢@Vel, 答案是重新添加了标题标签(即使在以前的wp版本中> 直到知道你必须从头删除它的哪个版本为止)。
目前适用于我的工作代码:
//functions.php
add_action( 'after_setup_theme', 'theme_setup' );
function theme_setup() {
add_theme_support('title-tag');
}//header.php
<
title>
<
?php wp_title('|', true, 'right');
?>
| <
?php echo get_bloginfo('name') ?>
<
/title>
//page templates
$window_title = // do something
add_filter('wp_title', function($title, $sep, $seplocation) use($window_title){ return $window_title;
}, 10, 3);
#3尝试使用以下代码-
add_filter('document_title_parts', function($titles){
return array('title' =>
'Custom Title');
});
推荐阅读
- 如果我从style.css文件中更改主题名称,是否可以更新WordPress付费主题()
- 为什么WordPress自定义代码不会在我期望的位置和时间出现()
- 为什么在wp的主题编辑器上编辑style.min.css时不起作用,但是在服务器上的文件管理器中却起作用了()
- 为什么我们不应该在wordpress多站点上使用”www”
- 为什么分页不起作用并在WordPress网站上显示404错误()
- 以太网链路聚合
- 无法删除的文件夹怎么办(如何删除删不掉的文件夹)
- oeasy教您玩转vim - 55 - # 参数替换
- pfSense安装Squid和配置ClamAV