WordPress发布文章&被转义成&的解决方法

    选择打赏方式

WordPress官方不知道是为了防止注入还是什么,它会在各位站长后台发布文章后,自动将&给转义;但有时候我们的URL也会附带&,他变成了&这可怎么搞,这个问题实际上是 html 转义符的问题,导致打不开变成了死链或其他奇奇怪怪的问题产生。

目前来说除了修改 wordpress 核心程序外无解,因为这个问题是 wordpress 的源码导致的。

但经过一番发现,可以在主题下的function.php直接hook解决(添加禁止转义代码)

1.打开主题下的 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);
2.加入代码以后保存。

3.回到文章页面,Ctrl+U查看网页源码,就能看见文章中的”&”已经没有被转义了。

版权声明:若无特殊注明,本文为《傲世》原创,转载请保留文章出处。
本文链接:https://www.recho.cn/218.html
如您对本文章内容有所疑问、反馈或补充,欢迎通过邮箱:admin@h2fast.cn 联系我们!
正文到此结束

热门推荐