WordPress 网站标题横线显示为 – 的彻底解决方法
在进行 WordPress SEO 优化或修改网站标题(Title)时,很多站长会发现一个奇怪的现象:明明在后台设置的分隔符是标准的短横线 -,但在浏览器标签页、源代码或者搜索引擎的搜索结果中,它却显示成了代码形式的 –。

这种“乱码”现象不仅破坏了页面的视觉美感,还可能让搜索用户对网站的专业性产生怀疑。本文将深入探讨这一问题的成因,并提供一劳永逸的解决方案。
一、 核心成因:为什么会出现 – ?
这本质上是 WordPress 内置的一个名为 wptexturize 的函数在“好心办坏事”。
智能格式化:WordPress 为了排版美观,会自动将文本中的特定符号(如双横线
--或被空格包围的单横线-)转换为出版规范中的“中横线(En Dash)”。HTML 实体转义:在 HTML 标准中,中横线对应的字符实体编码正是
–。插件读取偏差:当 SEO 插件提取标题生成
<title>标签时,如果未进行二次处理,就会直接将转码后的代码输出到前端。
二、 彻底解决方案:禁用自动转换滤镜
要解决这个问题,最简单、最高效的方法就是通过一行代码禁用 WordPress 的自动转码功能。请按照以下步骤操作:
1. 编辑主题函数文件
登录 WordPress 后台,进入 外观 (Appearance) > 主题文件编辑器 (Theme File Editor),在右侧文件列表中点击 functions.php (主题函数)。
2. 添加禁用代码
在 functions.php 文件的末尾(若文件末尾有 ?>,请加在它之前),粘贴以下代码:
/** * 彻底禁用 WordPress 的自动符号转换功能 * 解决标题及内容中的短横线被转码为 – 的问题 */ add_filter( 'run_wptexturize', '__return_false' );
3. 保存设置
点击“更新文件”按钮保存修改。
三、 修改后的必要操作
修改代码后,为了确保前端立即显示正确的结果,请务必执行以下步骤:
清理插件缓存:如果你使用了 WP Rocket、W3 Total Cache 等缓存插件,请务必执行“清除所有缓存”操作。
刷新 SEO 插件设置:如果你使用了 Rank Math 或 Yoast SEO,建议进入插件的标题设置页面,重新删除并输入一次横线,然后点击保存。
强制刷新浏览器:在网站前台按下
Ctrl + F5强制刷新查看效果。
总结:细节决定成败。通过禁用 wptexturize 滤镜,你可以确保网站标题以最干净、专业的形式呈现,从而提升品牌形象和搜索点击率。