A-A+
WordPress标题中的“-”被转义为“–”怎么办?
三好酋长昨天在“百度搜索资源平台”公众号里看到《百度搜索网页标题规范:让标题回归标题本身》一文,其中有建议把"---, _ ,| ,——"等间隔符统一改成" - "。于是三好酋长修改Twentyten主题的header.php,把title中的分隔符由 | 修改为 - ,可是查看网页,发现 - 变长了,于是查看网页源代码,发现 - 竟然被转义显示成了 – 。怎么办呢?
三好酋长在网上搜索了好久,竟然没有找到满意的解决方法,后来自己琢磨了一下,应该只要取消title中的字符转义就行了,于是在functions.php中添加了如下代码:
remove_filter('wp_title', 'wptexturize'); |
PS: 可能有的主题需要把wp_title换成the_title。
结果成功阻止了标题中的"-"被转义为"–"。
补充:为了保险,可以把可能的title函数都加上,所以完整代码是:
/** * 阻止title中的“-”被转义成“& #8211;” * https://www.3haow.com/remove_filter-wp_title-wptexturize/ */ remove_filter('the_title', 'wptexturize'); remove_filter('wp_title', 'wptexturize'); remove_filter('single_post_title', 'wptexturize'); add_filter( 'run_wptexturize', '__return_false' ); |
20200513更新:
随着WordPress版本的更新,还有主题繁多,以上代码失效了,这时候我们可以干脆禁用wptexturize()函数。代码如下:
/** * 禁用wptexturize函数 * https://www.3haow.com/remove_filter-wp_title-wptexturize/ */ add_filter( 'run_wptexturize', '__return_false' ); |
标签:WordPress