Wordpress替换破坏我的脚本的字符输出

时间:2015-07-23 18:02:41

标签: php wordpress

我正在使用wordpress 4.2.2,我发现了一个非常奇怪的问题。在插件上我发现插件作者打印输出如下:

        echo '  if (responsiveEntries!=undefined && responsiveEntries.length>0)'."\n";
        echo '      jQuery.each(responsiveEntries, function(index,obj) {'."\n";
        echo '          var curw = obj.width != undefined ? obj.width : 0,'."\n";
        echo '              cura = obj.amount != undefined ? obj.amount : 0;'."\n";
......etc

问题出现在前端,当我调试时,输出变成这样:

    if (responsiveEntries!=undefined && responsiveEntries.length>0)
         jQuery.each(responsiveEntries, function(index,obj) {
            var curw = obj.width != undefined ? obj.width : 0,
            cura = obj.amount != undefined ? obj.amount : 0;

正如你所看到的......角色&&被安全字符取代(&)..它破坏了脚本...我想知道如何调试这个问题,我已经关闭了不必要的插件,问题就在那里..所以我相信它的相关主题或核心wordpress

问题只发生在帖子或自定义帖子类型..当我把短代码放在页面上..没有问题

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

似乎在wordpress中有一个名为wp_texturizer()和convert_char()的默认过滤器,它们转换为&进入&

解决这个问题,我用

remove_filter ('the_content','wp_texturize'); apply_filter('the_content',$my_content); add_filter ('the_content','wp_texturize');