0

我在前端制作了一个自定义注册表单。我想展示与后端相同的上传功能。我不确定如何在前端添加多个上传内容。非常感谢任何帮助。

4

2 回答 2

3

用户使用 wordpress 的 insert_attachment 来保存附件,那么您还将拥有获取不同样式的图像的功能,get_attachment(id, 'full/medium/thumbnail')。

    $files = $_FILES['upload_attachment'];
    foreach ($_FILES as $file => $array) {
      $newupload = insert_attachment($file,null);
      // save the $newupload with you from data, as psot id for the attachment
     }
     function  insert_attachment($file_handler,$post_id,$setthumb='false') {

        // check to make sure its a successful upload
        if ($_FILES[$file_handler]['error'] !== UPLOAD_ERR_OK) __return_false();

          require_once(ABSPATH . "wp-admin" . '/includes/image.php');
          require_once(ABSPATH . "wp-admin" . '/includes/file.php');
          require_once(ABSPATH . "wp-admin" . '/includes/media.php');
          $attach_id = media_handle_upload( $file_handler, $post_id );

       if ($setthumb) update_post_meta($post_id,'_thumbnail_id',$attach_id);
         return $attach_id;
     } 

在 html 中,如果您提交表单,图像将被上传,引用将保存在 wp_post 表中

  <form action="upload_file.php" method="post" enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="upload_attachment[]" id="file"><br>
    <label for="file">Filename:</label>
    <input type="file" name="upload_attachment[]" id="file"><br>
    <label for="file">Filename:</label>
    <input type="file" name="upload_attachment[]" id="file"><br>
    <input type="submit" name="submit" value="Submit">
  </form>
于 2013-06-04T05:58:25.467 回答
1
<a href="#" class="custom_media_upload">Upload</a>
<img class="custom_media_image" src="" />
<input class="custom_media_url" type="text" name="attachment_url" value="">
<input class="custom_media_id" type="text" name="attachment_id" value="">

jQuery代码:

$('.custom_media_upload').click(function() {

var send_attachment_bkp = wp.media.editor.send.attachment;

wp.media.editor.send.attachment = function(props, attachment) {

    $('.custom_media_image').attr('src', attachment.url);
    $('.custom_media_url').val(attachment.url);
    $('.custom_media_id').val(attachment.id);

    wp.media.editor.send.attachment = send_attachment_bkp;
}

wp.media.editor.open();

return false;       
});
于 2013-06-12T08:42:21.090 回答