2013-07-19 164 views
0

我需要開發一個前端拖放插件。首先我收集html5拖放代碼。如何將文件從插件上傳到wordpress媒體庫?

下載zip格式的源代碼 - https://github.com/Mashpy/html5-drag-and-drop-upload/archive/master.zip

將文件放在本地主機和開放。如果您上傳文件,它將成爲「上傳」文件夾中的上傳文件。因爲我把代碼放在「/js/mashpy.js」中,這次「upload.php」文件將會被加載,並且會在「上傳」文件夾中發送文件。

這意味着這個過程就像這樣 - index.html - js/mashpy.js - upload.php - 發送文件到「上傳」 - dump.php將顯示成功上傳的結果。

現在我必須開發一個前端拖放插件了。但是我不知道如何在wordpress媒體庫中上傳文件。在這個源代碼中,upload.php會將文件發送到「上傳」文件夾。但是,在WordPress發生了什麼?如何發送文件到wordpress媒體庫?

+0

請注意,我們不會下載和分析您的完整插件代碼。你只需要在這裏放置相關的部分,這就是所謂的[簡短,獨立,正確(可編譯),例子](http://sscce.org/)。 – brasofilo

回答

0

你不能簡單地上傳文件到wp-content/uploads/。它們不會出現在媒體庫中。您需要使用WordPress功能media_handle_upload($file,$post_id),傳遞0作爲帖子ID(因此,它不會附加到任何帖子/頁面)。

喜歡的東西:

if ($_FILES) { 
    foreach ($_FILES as $file => $array) { 
     if ($_FILES[$file]['error'] !== UPLOAD_ERR_OK) { 
      return "upload error : " . $_FILES[$file]['error']; 
     } 
     $attach_id = media_handle_upload($file, 0); 
    } 
} 

你可以學習這個插件,看看它是如何做的:Add From Server。此外,在這個功能使用WordPress的答案for examples研究。

相關問題