我已经创建了一些关于我正在处理的主题的页面元框。
想法是有一个输入字段,然后有一个按钮来上传文件。
元框工作正常。
当我点击按钮时,它会触发thickbox。
这也很好用。
然后我可以上传媒体或为库选择媒体。
一点jQuery需要在ThickBox中获取所选文件的URL,并将其放在正确的字段中。
我有一个脚本可以很好地处理图像,但它不能处理PDF文件。
//lauch on click to appropriate button
jQuery(\'#upload_requestform_button\').click(function() {
// keep copy of the original send to editor
original_send_to_editor = window.send_to_editor;
//new send_to_editor function
window.send_to_editor = function(html) {
// i guess this where i\'m wrong
imgurl = jQuery(\'img\',html).attr(\'src\');
// sending the data to the input
jQuery(\'#box_requestform_meta\').val(imgurl);
tb_remove();
// restore send_to_editor to post content
window.send_to_editor = original_send_to_editor;
}
// loads thickbox
formfield = jQuery(\'#box_requestform_meta\').attr(\'name\');
tb_show(\'\', \'media-upload.php?type=image&TB_iframe=true\');
return false;
});
这是HTML部分:
<label for="ala_request_form_ID"><?php _e( "Request Form", \'Request Form\' ); ?></label><br />
<input id="box_requestform_meta" type="text" size="80%" name="box_requestform_meta" value="<?php echo esc_attr( get_post_meta( $object->ID, \'box_requestform_meta\', true ) ); ?>" />
<input id="upload_image_button" type="button" value="Upload Request Form" />
我找不到太多关于如何使用thickbox的文档或示例,非常感谢您的帮助^^
SO网友:turbonerd
这一行。。。
imgurl = jQuery(\'img\',html).attr(\'src\');
表示jQuery正在获取
image. 正如您所猜测的,这对PDF文件不起作用。
你可能需要做的是id
而不是附件的。您是否可以使用thickbox的HTML源代码更新您的原始答案?我们也许可以从某处找到ID并修改jQuery行。
获得附件ID后,可以使用以下代码在HTML中显示URL,无论是图像还是任何其他类型的附件:
<?php wp_get_attachment_url( $id ); ?>
希望这有帮助。