2

テーマ オプションでアップロード メディア オプションと Tiny エディターを使用しています。今私が以下のjavascriptを使用しているとき

jQuery(document).ready(function() {
    jQuery('.st_upload_button').click(function() {
         targetfield = jQuery(this).prev('.upload-url');
         tb_show('', 'media-upload.php?type=image&TB_iframe=true');
         return false;
    });
    window.send_to_editor = function(html) {
         imgurl = jQuery('img',html).attr('src');
         jQuery(targetfield).val(imgurl);
         tb_remove();
    }
});

画像をアップロードし、アップロード ボタンから URL を挿入することができます (入力と黒いアップロード ボタンのある画像を参照してください)。

ここに画像の説明を入力

しかし、上記のjavascript Tinyエディタではアップロードを許可しますが、エディタへの画像の挿入を停止します。

ここに画像の説明を入力

javascriptを無効にしてクロスチェックしたところ、Tinyエディターは正常に動作しました。だから私はjavascriptに何か問題があると信じていますが、何が間違っているのか、どのように解決するのか理解できません。

4

1 に答える 1

2

jqueryに問題はありません。スクリプトを登録するときにいくつか作成する必要があるだけです。ここにサンプルコードがあります

     function st_add_init() 

    {

   $screen = get_current_screen();
   $file_dir = get_template_directory_uri();
   wp_enqueue_style("stCss", $file_dir."/font/theme-options.css", false, "1.0",    "all"); 
   wp_enqueue_script("stScript", $file_dir."/js/theme-options.js", false, "1.0");                             wp_register_script('my-upload', get_bloginfo( 'stylesheet_directory' ) .'/js/my-script.js', array('jquery','media-upload','thickbox'));    
   if ($screen->id =='appearance_page_st-settings')   
        {
          wp_enqueue_script('thickbox');
          wp_enqueue_script('media-upload');
          wp_enqueue_script('my-upload');
          wp_enqueue_style('thickbox');

        }
   }
   add_action('admin_enqueue_scripts', 'st_add_init');

get_current_screen (); 関数は、テーマ オプション ページの ID を取得します

「appearance_page_st-settings」は私のオプションページのIDです。あなたのものは異なります

if ($screen->id =='appearance_page_st-settings') id を照合して、ページがテーマ オプション ページかどうかを識別します。true の場合、スクリプトが登録されるため、管理スクリプトとの競合が回避されます。

于 2012-10-16T18:03:55.707 に答える