求助:WordPress博客标题末尾连字符无法删除,跨平台显示异常
这种删不掉的标题连字符确实挺闹心的,我帮不少用户处理过类似问题,咱们从最常见的原因开始排查:
先查主题的标题配置
很多主题会在标题生成逻辑里硬加分隔符。你可以先打开主题的header.php文件,找wp_title()或者wp_get_document_title()相关的代码——比如有些主题会写wp_title( '-', true, 'right' ),这里的'-'就是那个顽固的连字符,把它改成空字符串''就行。另外,别忘了去「外观→自定义」里看看,不少主题在这里专门加了“标题分隔符”的设置项,直接改成“无”就好。排查SEO插件的锅
如果你用了Yoast SEO、Rank Math这类SEO工具,它们大概率接管了网站标题的生成逻辑。比如Yoast SEO,你进「SEO→搜索外观→常规」,找到“分隔符”选项,直接把它改成空白(或者你想要的其他符号)。另外,也别忘了检查单篇文章/页面的SEO设置,看看是不是在自定义标题模板里不小心加了连字符。用代码强制替换分隔符
如果上面的方法都没效果,咱们直接用代码干预。打开主题的functions.php(建议用子主题的,避免主题更新丢失修改),添加这段代码:
add_filter( 'document_title_separator', 'remove_title_hyphen' ); function remove_title_hyphen( $sep ) { return ''; // 返回空字符串就会彻底去掉分隔符 }
保存后刷新页面,应该就能看到效果了。
别忽略缓存的影响
有时候你改了设置,但浏览器缓存或者服务器缓存还存着旧的标题。先清空浏览器的缓存(快捷键Ctrl+Shift+R强制刷新),如果用了缓存插件(比如WP Rocket、W3 Total Cache),也去后台清空一下插件的缓存,再看标题是否正常。极端情况:检查数据库
如果以上都没用,那可能是数据库里的配置出了问题。登录phpMyAdmin,找到你的WordPress数据库,打开wp_options表(前缀如果不是wp_就找对应的),搜索blogname和blogdescription这两个选项,看看它们的 value 后面是不是莫名带了连字符。要是有的话,直接修改去掉就行。
内容的提问来源于stack exchange,提问作者Jeff Klein

