带有文件上传的自定义帖子类型-需要设置为字段,而不是发送到编辑

时间:2011-01-17 作者:goatlady

我已经创建了一个自定义帖子类型。它需要上传一个文件。我找到了以下教程,我成功地将其改编为我所需要的,但有一个例外:

http://www.webmaster-source.com/2010/01/08/using-the-wordpress-uploader-in-your-plugin-or-theme/

本教程提供了JavaScript代码来覆盖“发送到编辑器”按钮,但这不是我想要做的。我想将文件名设置为帖子的元值,这样我就可以在我的显示模板中将其拉出。理想情况下,我想在file upload thickbox中显示另一个自定义链接,类似于“set as post thumbnail”,这将实现这一点。

我的自定义JavaScript文件包含以下内容(第一个函数已自定义为我的帖子类型,第二个没有):

jQuery(document).ready(function() {

jQuery(\'#upload_resource_button\').click(function() {
 formfield = jQuery(\'#upload_resource\').attr(\'name\');
 tb_show(\'\', \'media-upload.php?type=file&TB_iframe=true\');
 return false;
});

window.send_to_editor = function(html) {
 imgurl = jQuery(\'img\',html).attr(\'src\');
 jQuery(\'#upload_image\').val(imgurl);
 tb_remove();
}

});
如果我需要一个额外的隐藏字段来分配文件名,我可能可以解决这个问题——我真正需要知道的是使用什么钩子来向thickbox添加新链接,而不是“发送到编辑器”。

我希望这是有意义的——我不确定所有的术语都是正确的。

谢谢

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

我不能说我已经尝试过了,但如果您有文件的url,并且只需要文件名,那么您可以从以下内容更改代码:

    window.send_to_editor = function(html) {
      imgurl = jQuery(\'img\',html).attr(\'src\');
      jQuery(\'#upload_image\').val(imgurl);
      tb_remove();
    }
对此:

    window.send_to_editor = function(html) {
      imgurl = jQuery(\'img\',html).attr(\'src\');
      filename = substring(imgurl.lastIndexOf(\'/\'), imgurl.length);
      jQuery(\'#upload_resource\').val(filename);
      tb_remove();
    }
这样,“发送到编辑器”按钮将只插入文件名。

结束

相关推荐

$未在WordPress中使用jQuery定义

我知道jQuery已加载,因为我可以切换$ 对于“jQuery”,所有操作都按预期进行,但如果我无法修复此问题,这将是一个混乱的脚本此脚本:jQuery(document).ready(function(){ $(\"ul.vimeo_desc_feed li a\").click(function(){ alert($(this).attr(\'href\')); return false; }) }); 产