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();
    }
});

它允许上传图片并从上传按钮插入网址(参见带有输入和黑色上传按钮的图片)

在此处输入图像描述

但使用上面的 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 回答