在一篇文章中为两个不同的元框从图像库中选择图像时出现太多递归错误

时间:2011-06-18 作者:jam

必须有一个解决方案。我使用此解决方案从媒体库中选择图像。http://www.webmaster-source.com/2010/01/08/using-the-wordpress-uploader-in-your-plugin-or-theme/

问题是:

我正在使用两个元框自定义后类型“产品”。

第一个由两个元字段组成,用于添加两个附加产品图片。第二个元字段用于创建此产品的简单库。

每个都有自己的tb\\U显示和窗口。发送\\u到\\u编辑器内容。

问题是,当只注册了一个metabox时,一切都很正常——第一个或第二个。如果两者都已注册,则最后通过add\\u meta\\u框注册的一个会在firebug中出现错误“too much recursion” 当按下“插入post”按钮时。

如何解决这个问题?

这是非常关键的任务,在帖子中有两个元数据库,以添加不同类型的图像?此外,默认的“将图像插入到帖子中”也可以使用。

也许有人对此有一个类,因为我知道,问题是如果在一个帖子页面中注册了两个原始的\\u send\\u to\\u编辑器函数。

1 个回复
最合适的回答,由SO网友:John P Bloch 整理而成

我认为你遇到了人们在评论中提到的问题。其他人在此处发布了相关信息:

http://www.theenglishguy.co.uk/2010/01/24/multiple-media-uploads-in-wordpress-functions-php/

基本上,应该修改该站点的JavaScript,使其更像这样:

jQuery(document).ready(function() {

  var formlabel = 0;
  var old_send_to_editor = window.send_to_editor;
  var old_tb_remove = window.tb_remove;

  jQuery(\'.upload_image_button\').click(function(){
    formlabel = jQuery(this).parent();
    tb_show(\'\', \'media-upload.php?type=image&TB_iframe=true\');
    return false;
  });

  window.tb_remove = function() {
    formlabel = 0;
    old_tb_remove();
  }

  window.send_to_editor = function(html) {
    if(formlabel){
      imgurl = jQuery(\'img\',html).attr(\'src\');
      formlabel.find(\'input[type="text"]\').value(imgurl);
      tb_remove();
    } else {
      old_send_to_editor();
    }
  }
});
从那以后,你所需要做的就是确保所有按钮都有类\'upload_image_button\', 并确保按钮是其相应文本框的同级,并且在同一父元素中没有其他上载表单。

结束

相关推荐

是否可以确定用户何时在“Media”>“Add New”与“Post>Add an Image”之间

我想将下面的过滤器包装成一个条件,测试用户是否从媒体管理器(Admin>Media>Add New)而不是从post editor图像上载例程上载图像。有可能知道吗$pagenow在这两种情况下似乎是相同的。。。//no extra thumbs global $pagenow; if($pagenow==\"media-new.php\"){ add_filter(\'intermediate_image_sizes_advanced\',\'ce4_no_thumb