何先生最近优化网站发现 wordpress 的”&”被转义成”&”导致某些 url 链接变成了死链,这个问题实际上是 html 转义符的问题。目前来说除了修改 wordpress 核心程序外无解,因为这个问题是 wordpress 的源码导致的。不过何先生在网上一番搜索找到一段代码可以解决。有需要的可以参考一下。
一、添加禁止转义代码
打开主题下的 function.php 文件,在文件的后面加上以下代码:
// 禁止转义符号
add_filter( 'the_content', function( $string ) {
return preg_replace_callback( '|<a\b([^>]*)>(.*?)</a>|', function( $matches ) {
return '<a' . str_replace( '&', '&', $matches[1] ) . '>' . $matches[2] . '</a>';
}, $string );
}, 10, 1 );
加入代码以后保存,然后查看网页源码,就能看见文章中的”&”已经没有被转义了。
文中代码来自:主机镇
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。