wp_insert_post()改变双引号

时间:2017-12-29 03:30:19

标签: jquery wordpress upload

我正在尝试使用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对象,该对象的对象变量作为post-array的参数传递给wp_insert_post()。

当用于上传它的页面(作为支票)输出时,脚本运行得非常好,如果我将其复制并粘贴回不在wordpress内的本地页面,则上传的代码可以正常工作。

但是在wordpress帖子中我并排获得图片,好像没有jQuery脚本隐藏它们。直到我调查帖子并单击以在可视模式下保存它,此时图像按预期堆叠,但没有任何按钮功能,因为onClick(..)函数已从<input type="button"...>元素中消失。 / p>

如果有必要,我会尽快发布完整的代码,同时提供的任何反馈将非常非常受欢迎。

2 个答案:

答案 0 :(得分:0)

您是否使用以下方法插入帖子:

$ user_id = get_current_user_id();     $ someImgUrl =“https://cdn.pixabay.com/photo/2016/03/26/13/09/organic-1280537_960_720.jpg”;     $ new_post = array(           'ID'=&gt; ',           'post_author'=&gt; $ USER_ID,           'post_category'=&gt; ',           'post_content'=&gt; ',           'post_title'=&gt; '自定义帖子',           'post_status'=&gt; '发布'     );     $ post_id = wp_insert_post($ new_post);

我使用此方法在帖子内容中获得双引号。如果没有工作,请详细说明你的问题。

答案 1 :(得分:0)

好吧,既然我的原始问题没有得到答复,我会为遇到同样问题的人提出解决方案:

我重写了上面的原始脚本,将所有内容放在带有转义的单引号字符串中,用于任何单引号并省略heredocs,因为关闭的heredoc标记需要在换行符的开头,可能是也可能不是字符串传递时会出现问题。

完整的jquery / javascript功能被放在wordpress的文件结构中的自己的.js文件中,并包含在

function eigenSchrifte() {
    wp_enqueue_script( 'schleicher1', get_template_directory_uri() . '/js/schleicher1.js', array( 'jquery' ), '1.12.4', true );
}
add_action( 'wp_enqueue_scripts', 'eigenSchrifte' );

特定于图库的.css我最终放入了主题的single.php页面,因为滑块只会显示在各个帖子上。

这使动态生成的html与<img src="...">标签保持一致,构建图库的php脚本现在只包含html,上传效果非常好,尽管没有>>>甚至{{1 }按钮文字。

最终html构造的粗略近似运行如此(本身并不那么具有启发性,但与原始尝试相比很有用):

&gt;&gt;&gt;