前几天很多人在群里询问wordpress的”&”被转义成”&”的解决方案,实际上就是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 );
加入代码以后保存,然后使用ctrl+u查看网页源码,就能看见文章中的”&”没有被转义掉。
二、其他
本代码几乎适用于所有wordpress版本!