After WordPress 2.5 uploading files to posts has become much easier. When first looking into this I was confused though because I every time I would upload a file it would not automatically link to the file. I was assuming the file did not upload properly and that was the reason there was no file to link to. I was mistaken though and really uploading a file is exactly like uploading an image but you have to select where the file links to. Follow the simple directions below to upload files to a WordPress post on your WP blog. The directions below are based on WordPress 2.7+ however they are very similar to WordPress 2.5/2.6.

  1. Open WordPress Admin: Obviously the first thing you need to do is login to the WP administration area of your blog which is typically found at your URL followed by /wp-admin.
  2. Add or Edit a Post: Now you want to add or edit a post by clicking “Add New” or “Edit” located under the Posts section of the left nav menu as shown below.

    WordPress Left Navigation Add New

  3. Click Add Media: First make sure to put the cursow in the post window where you want to add the file link. Then click the “Add Media” button located in the top left above the post window. The “Add Media” button is located to the right of Upload/Insert directly above the editor bar.

    WordPress Insert or Edit a File Attachment 

  4. Upload File: Now you will upload the actual file that will be inserted into the post by clicking the “Select Files” button which is shown below and then locating the files on your PC that you want to upload.

    WordPress Upload a File to Your Blog

    Once the file is uploaded it will be visible in the interface as shown below. It still needs to be inserted into the post.

    WordPress Admin Interface After a File is Uploaded

  5. Insert File Into Post: Now that the file is uploaded you need to insert the file into the post. Click the Show link next to the file you want to insert which will display details of the file as shown below.

    WordPress Add File Before File URL

    Before actually inserting the file into the post you need to click the “File URL” button to insert the link to the file as shown below.

    WordPress Uploading a File After Adding File URL

    After this you can click the “Insert into Post” button and the file will be inserted into the post.

Again this is for WordPress 2.5 and above. I recommend that if you are not using WordPress 2.7 that you actually upgrade to gain access to all of the new features.

Tags: , , , , , , , , ,
6 Responses to “How to Upload Files to a WordPress Post”
  1. Jaun Millalonco says:

    Excellent YouTube post ! thanks for sharing. I’ll be adding your blog to my reader.


    alex Reply:

    Hello Juan,

    Thanks for the feedback. We appreciate all comments.



  2. Gen says:

    Very good tutorial. thanks for sharing, your explain with screenshot make me learn fast.
    good posting.


    alex Reply:

    Hello Gen,

    Thanks for the compliment. We appreciate you taking the time to leave feedback.



  3. Nimble Websolutions says:

    hi i make a costume plugin and in this plugin i want to upload images i create a folder on the same path of our plugin but the same arror occurs again and agian and no file is uploaded on the upload folder so give me the some information about this

    My error is

    Warning: move_uploaded_file(http://localhost/wordpress/wp-content/plugins/simple-fields/uploadimages/Water lilies.jpg) [function.move-uploaded-file]: failed to open stream: HTTP wrapper does not support writeable connections in C:\wamp\www\wordpress\wp-content\plugins\simple-fields\functions_admin.php on line 33


    alex Reply:

    Hello Nimble,

    This article specifically relates to uploading items via the existing WordPress interface so custom plugins would be outside the scope of what we could assist with. If you read the errors output above and search specifically on those errors they should point you in the right direction.



Leave a Reply

*Type the letter/number combination in the abvoe field before clicking submit.