2011-11-28 16 views
0

私はこの問題を8時間以上抱えています。 WordPressテーマのオプションパネルを作成し、アップロードロゴオプションのアップロードボタンを追加しました。私はwordpress thickboxを使っています。 thickboxのアップロードを除いてほぼすべてが行われ、表示されているthickboxオーバーレイのみが表示されることはありません。私はソースファイルと.jsファイルをチェックし、スタイルシートファイルはエンキューに正しく登録されています。厚い箱がなぜ表示されないのですか?私を助けてください!私はので、ここで 私のテーマのアップロードオプションでwordpress thickboxが実際に表示されない理由

は、入力ボタンを経由して

var fileInput = ''; 

    jQuery('.upload_image_button').click(function() { 
     fileInput = jQuery(this).parent().prev('input.uploadfield'); 
     //console.log(fileInput); 
     formfield = jQuery('#upload_image').attr('name'); 
     post_id = jQuery('#post_ID').val(); 
     tb_show('', 'media-upload.php?post_id='+post_id+'&type=image&TB_iframe=true&width=640&height=105'); 
     return false; 
    }); 



    window.original_send_to_editor = window.send_to_editor; 
    window.send_to_editor = function(html){ 

     if (fileInput) { 
      fileurl = jQuery('img',html).attr('src'); 

      fileInput.val(fileurl); 

      tb_remove(); 

     } else { 
      window.original_send_to_editor(html); 
     } 
    }; 

をThickBoxのを呼び出すために私のスクリプトの使用であり、ここで私は本当の問題を発見した

<input id="" class="uploadfield" type="text" value="" name="" size="50" maxlength="2048"> 
              <div class="upload_buttons"> 
               <input class="upload_image_button" type="button" value="Upload"> 
              </div> 
+0

私はfirebugでスクリプトをデバッグしようとしました。そして、私が得るのはTB_window divにも何も入っていないということです。このようにちょうど

のように。しかし、私はまだこれを修正する方法を知らない。 – nonsensecreativity

+0

SOLVED !!!それは私がajax googleapisからjquery 1.4.2を登録したためです。それを修正するために私は最新のjqueryをダウンロードしてから、新しいadmin_jqueryとしてスクリプトを登録してエンキューします。それはうまく動作します。私はちょうどそれがなぜajax googleapisのjqueryで動作しなかったのか分かりません。 – nonsensecreativity

+0

:解決策を回答として投稿してください。それは他の人に役立つかもしれない – Gowri

答えて

0

アップロードのための私の入力ボタンのコードです私のjqueryファイルでjQuery()を使用する代わりに、jQueryに組み込まれたwordpressと競合する$ myコードの代わりに使用します。だから私はjqueryでwordpressビルドの登録を解除せずに同じ名前の 'jquery'で新しいjqueryを登録する必要があります。

私は記号を変更した後、新しいjqueryを登録するとjqueryでwordpressビルドを使用でき、thickboxは正常に動作します。同じ問題を抱えている人を助けることができれば幸いです。ありがとう

+0

新しいjqueryスクリプトを登録することで問題を解決したと思うと、私は最初はとても馬鹿でした。 :(しかし、それはthickboxを修正しても間違ったメソッドですが、それは奇妙な動作ですthickbox自体は2つの閉じるボタンがポップアウトされている – nonsensecreativity

+0

いいえ、あなたはダムではありません。私はあなたのjsコードをテストして、 WordPressのネイティブMediaUploadが適切に表示されます(私は 'tb_show'からpost_idを削除します)。これはオプションページを生成する関数に必要なスクリプトをエンキューする方法です:' wp_register_script( 'yourjs'、get_template_directory_uri()。 '/js/your.js ( 'jquery'、 'media-upload'、 'thickbox')); '' wp_enqueue_script( "yourjs"); '' wp_enqueue_script( 'media-upload'); '' wp_enqueue_script( 'thickbox'); ' 'wp_enqueue_style( 'thickbox');' jQueryはすでにインクルードされているので追加する必要はありません( 'wp-includes/script-loader.php'を参照)。 – jocki

関連する問題