腾讯云服务器优惠活动华纳云香港服务器

WordPress 标题中的横线“-”被转义怎么办?

WordPress主题推荐

很久以前就发现,如果标题中带有横杠“-”的话,查看页面源代码的时候就会发现横线会被转义为实体:–,尽管现实在网页标签里的标题显示正常,但是标题出现这个(如下图),感觉很不爽。

WordPress 标题中的横线“-”被转义怎么办?-第1张-boke112百科(boke112.com)

另外,在输出百度熊掌号的 json-ld 数据(如下图第 1 个红框)和百度分享自定义数据(如下图第 2 个红框)输出时,标题里面的横线也同样的被转义成这个实体了,而且百度居然直接就把实体给收录了,所以大家应该或多或少在很多熊掌号主页里会看到文章标题里带有 –这个奇怪的字符串…

WordPress 标题中的横线“-”被转义怎么办?-第2张-boke112百科(boke112.com)

在网上找了个遍都没找到什么真正的解决方法,所以这个转义问题被搁置到了现在,直到今天终于想出了个“解决”方法,希望对大家有所帮助。

方法一:禁用所有的 WP 转义

wordpress 自带一个专一的钩子 wptexturize,很多地方都用到了这个钩子,具体可以看看 wp 的 wp-includes/formatting.php 中看看。我们可以通过以下代码(取自水煮鱼)来取消掉这个转义:

add_filter( 'run_wptexturize', '__return_false' );

方法二:禁用部分的 WP 转义(推荐)

为了解决本文标题描述的这个问题,可以只是禁止 wptexturize 对标题的转义:

/**
* WordPress 标题中的横线“-”被转义成“–”的问题 - 龙笑天下
* https://www.ilxtx.com/wordpress-html-entity-decode-title.html
* 20181213 更新:wp_title、single_post_title、single_cat_title、get_the_title、single_tag_title
*/
remove_filter('the_title', 'wptexturize');
remove_filter('wp_title', 'wptexturize');
remove_filter('single_post_title', 'wptexturize');

以上内容整理自@龙笑天下

本文地址:https://boke112.com/post/5483.html

赞 (0) 打赏
版权声明:本文为原创文章,版权归 boke112百科 所有,欢迎分享本文,转载请保留出处!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请联系我们,确认后马上更正或删除,谢谢!
香港云主机55元/年
wu