【发布时间】:2018-06-09 13:36:08
【问题描述】:
我正在尝试使用 wp_insert_post() 将脚本上传到 Wordpress,但是一旦它到达服务器,引号就会在几个地方更改为 &#8221;,这可能解释了为什么我似乎无法得到它在职的。我尝试过使用 sanitize() 函数,但这会通过在所有行的末尾插入 </p> 标记来搞乱一切,所以这不是一个真正的选择。
我在这里读到Escape double quotes within double quotes 连接的字符串(我正在使用,以及heredoc 字符串)可能是问题的原因,但我不确定如何解决这个问题。欢迎所有建议 - 不幸的是,我尝试上传的 jQuery 脚本是一个由用户通过 WP-Contact7/Flamingo 上传到 Wordpress 的图像构建的图库。
或者简单地转义所有引号是否有效?但是那些只需要连接起来的字符串呢?喜欢<img src="' . $someImgUrl . '...';?
这是我尝试上传的四个结构相似的字符串之一...
$gallBd2A = <<< gallBd2A
</div><!-- id="rundgang"-->
<div id="gallKnopfeTeil">
<input type="button" id="bildZuKnopf" name="1" class="gallKnopfe" value=" >>> " onClick="bildZu(this)">
<input type="button" id="bildAbKnopf" name="1" class="gallKnopfe" value=" <<< " onClick="bildAb(this)">
</div><!-- id="gallKnopfeTeil" -->
<script src='./jquery.js'>
</script>
<script>
function probeZufug(bd){
var e = document.getElementById('probeKaste');
e.innerHTML += "<br/>" + bd;
}
</script>
<script>
// if (plusZiff == 7)
// jzZiff < 6? jzZiff++: jzZiff=1;
// if (minderZiff == 0) { minderZiff = 6;}
// jzZiff > 1? jzZiff--: jzZiff=6;
// jQuery('#bild1').fadeOut(100);
jQuery('#bild2').fadeOut(100);
jQuery('#bild3').fadeOut(100);
jQuery('#bild4').fadeOut(100);
jQuery('#bild5').fadeOut(100);
jQuery('#bild6').fadeOut(100);
jQuery('#bild7').fadeOut(100);
jQuery('#bild8').fadeOut(100);
function bildZu(ds){
var jzZiff = parseInt(ds.name);
var plusZiff = jzZiff+1;
gallBd2A;
然后在四个这样的字符串之后,我将它们连接起来:
$gzGallBd = $gallKaskBd . $gallBd1 . $gallBdM . $gallBd2A . $gallBd2B . $gallBd2C . $gallBd2D . $gallBd2L;
这个字符串然后被添加到一个 post-object,其对象变量作为 post-array 的参数传递给 wp_insert_post()。
该脚本在用于上传它的页面上输出时运行良好(作为检查),如果我将其复制并粘贴回不在 wordpress 内的本地页面,则上传的代码可以正常工作。
但在 wordpress 帖子中,我将图片并排显示,就好像没有 jQuery 脚本隐藏它们一样。直到我调查帖子并单击以将其保存为可视模式,此时图像按预期堆叠,但没有任何按钮功能,因为 onClick(..) 函数已从 <input type="button"...> 元素中消失。
如有必要,我会尽快发布完整的代码,同时非常非常欢迎任何反馈。
【问题讨论】: