2017-12-29 18 views
0

wp_insert_post()を使用してWordpressにスクリプトをアップロードしようとしていますが、サーバに到達すると引用符がちょうど数箇所で&#8221;に変更されますそれが働くように思える。私はsanitize()関数を使ってみましたが、実際にはオプションではないので、すべての行の最後に</p>というタグを挿入することで、すべての処理が邪魔になります。wp_insert_post()二重引用符を変更する

ここでは、問題の原因となる文字列(これは私が使用しているものとheredoc文字列)を連結した文字列を連結したものですが、問題の解決方法がわかりません。すべての提案は歓迎です - 残念ながら、私がアップロードしようとしているjQueryスクリプトは、WP-Contact7/Flamingoを介してWordpressにアップロードされた画像から構築されたギャラリーです。

また、引用符をすべてエスケープしても問題ありませんか?しかし、単に連結しなければならない文字列はどうですか? <img src="' . $someImgUrl . '...';のように?

ここで私がアップロードするattemptningだ4同様に構成された文字列の一つだ...

     $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; 

は、次にこのような4つの文字列の後に、私はそれらを連結します。この文字列がある

$gzGallBd = $gallKaskBd . $gallBd1 . $gallBdM . $gallBd2A . $gallBd2B . $gallBd2C . $gallBd2D . $gallBd2L; 

オブジェクト変数がポスト配列のパラメータとしてwp_insert_post()に渡されるポストオブジェクトに追加されます。

アップロードに使用されたページ(チェックとして)に出力されたときにスクリプトが完璧に機能し、アップロードされたコードがWordPressにないローカルページにコピーアンドペーストすると機能します。

しかし、WordPressの投稿では、jQueryスクリプトで隠されていないかのように、写真を並べて表示しています。私が投稿を調査してビジュアルモードで保存するまで、画像は意図的に積み重ねられますが、ボタンの機能はありません。なぜなら、onClick(..)関数は<input type="button"...>要素から消えてしまっているからです。

私はまもなく完全なコードを投稿しますが、その間のフィードバックintはとても歓迎されます。

答えて

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 =配列( 'ID' => ''、 'post_author' => $ user_idは、 'post_category' => ''、 'POST_CONTENT' => ''、 'POST_TITLE' =>「カスタム投稿 '、 ' post_status '=>'公開 ' ); $ post_id = wp_insert_post($ new_post);

このメソッドを使用して投稿内容に二重引用符が表示されています。あなたの質問を精緻化してください。

+0

はい、私は(wp_insert_postを使用しています)と、他のすべてOK - post_title、post_status、その他のコンテンツをアップロードしています...このアニメーションだけが難解です。なぜそれは特定の二重引用符を変換しているのですか? – Hektor

+0

あなたはjquery srciptに問題があります。つまり、OnClick関数が機能していません。私はそれをテストすることができますあなたのスクリプトやコードを共有します。 – TBI

+0

このオファーのおかげで、結局、一重引用符で囲まれた単一引用符付きの文字列を使用するようにコードを変更しました。私はまた、明らかにWordPressの中のいくつかのタグを閉じていた>>>に何か問題があった*。さらに明確化の答えを見てください。 – Hektor

0

私の元の質問が未解決になったので、まあ、私は同じ問題を持つ人のためのソリューションを置くでしょう:

私はすべてのためのエスケープを備えた単一引用符で囲まれた文字列内のすべてのものを入れて、上記のオリジナルのスクリプトを書き直し閉じたheredocタグは、文字列が渡されるときに問題になるかもしれないし、そうでないかもしれない改行の始めにある必要があるので、一重引用符とヘドロークを使って配布する。

フルjqueryの/ javascriptの機能はワードプレスのファイル構造で、独自の.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'); 

で私がテーマのsingle.phpページに入れてしまったギャラリーに固有の.cssを含めましたスライダーは個々のポストにのみ表示されるためです。ギャラリーを構築するために<img src="...">タグと、動的に生成されたHTML、およびPHPスクリプトを左

は今はいえ >>>やボタンのテキストなどにも &gt;&gt;&gt;なくて、完璧にアップロードしたHTMLだけを、含まれていません。

最終的なHTML-工事の概算はそうのように実行します(そう啓発それ自体ではなく、オリジナルの試みとの比較のために有用):

$galleryString1 = '<div id="carousel">'; 

$dynamicGalleryString = ''; 


foreach ($imageArray as $targetImage) { 
     $targetImage++; 
     $dynamicGalleryString .= find_and_copy_target_uploaded_image_returns_full_image_tag($targetImage, $newFolder); 

} // 


$galleryString2 =        
     '</div><!-- id="carousel"--> 

      <div id="galleryButtonDiv"> 
       <input type="button" id="nxPicButton" name="1" class="galleryButton" value=" ++ " onClick="nextPic(this)"> 
       <input type="button" id="prevPicButton" name="1" class="galleryButton" value=" -- " onClick="prevPic(this)"> 
      </div><!-- id="galleryButtonDiv" --> 
     '; 
関連する問題