How to Change the WordPress Media Upload Directory

By  on  

One thing I've always missed about the "old" way of web development was the simplicity of FTP. No deploy scripts, no fuss: simple drag and drop of files and the files are there. I've used FTP for assets on this blog for over a decade but I'm finally ready to be lazy enough to want to drag images into WordPress and use them as WordPress intended.

The problem is that I want the files to upload to custom directory, not the wp-content/uploads directory that WordPress defaults to. The following PHP snippet in the WordPress wp-config.php file allows you to change WordPress' default upload directory:

require_once(ABSPATH.'wp-settings.php');
define('UPLOADS', 'my-demo');

Files uploaded within the WordPress / browser interface will be added in this custom directory. Note that WordPress will create the directory if not present, and will also automatically create and upload the file to a {year}/{month} directory within that custom directory.

I wish I had set this configuration years ago. Having to open a separate app and then write the custom HTML to insert this image has been an inconvenience for a long time!

Recent Features

Incredible Demos

  • By
    AJAX Page Loads Using MooTools Fx.Explode

    Note: All credit for Fx.Explode goes to Jan Kassens. One of the awesome pieces of code in MooTools Core Developer Jan Kassens' sandbox is his Fx.Explode functionality. When you click on any of the designated Fx.Explode elements, the elements "explode" off of the...

  • By
    CSS content and attr

    CSS is becoming more and more powerful but in the sense that it allows us to do the little things easily.  There have been larger features added like transitions, animations, and transforms, but one feature that goes under the radar is generated content.  You saw a...

Discussion

  1. shawn caza

    If you don’t want to mess with the config file, you might be able to use wordpress’s secret hidden settings page to do this: https://your-site.com/wp-admin/options.php

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!