何先生最近优化网站发现 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 );
加入代码以后保存,然后查看网页源码,就能看见文章中的”&”已经没有被转义了。
文中代码来自:主机镇
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容