• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

I Like Kill Nerds

The blog of Australian Front End / Aurelia Javascript Developer & brewing aficionado Dwayne Charrington // Aurelia.io Core Team member.

  • Home
  • Aurelia 2
  • Aurelia 1
  • About
  • Aurelia 2 Consulting/Freelance Work

Shared Uploads Directory in WordPress Multisite

Wordpress · October 18, 2021

If you’re working with WordPress Multisite, you might encounter a scenario where you want all uploaded media to share the same folder. In my case, I needed all sites to use the same uploads directory as the parent site.

As with most things in WordPress, there is some hook or filter you can use to change core WordPress functionality. For the upload directory, there is a filter called upload_dir which is called when the upload directory is configured.

add_filter(
  'upload_dir',
  function ($dirs) {
    if ( is_multisite() ) {
      $dirs['baseurl'] = network_site_url('/wp-content/uploads');
      $dirs['basedir'] = ABSPATH . 'wp-content/uploads';
      $dirs['path'] = $dirs['basedir'] . $dirs['subdir'];
      $dirs['url'] = $dirs['baseurl'] . $dirs['subdir'];
    }

    return $dirs;
  },
  999
);

WARNING: While this will give you a shared uploads directory, it will have a severe side effect. If you delete one of your WordPress Multisites, it will delete all of the media in your custom upload path as well. This is because WordPress will clean up after itself and see your upload path as a custom one.

Dwayne

Leave a ReplyCancel reply

0 Comments
Inline Feedbacks
View all comments

Primary Sidebar

Popular

  • Handling Errors with the Fetch API
  • How To Get The Hash of A File In Node.js
  • Thoughts on the Flipper Zero
  • How To Paginate An Array In Javascript
  • Testing Event Listeners In Jest (Without Using A Library)

Copyright © 2023 · Dwayne Charrington · Log in

wpDiscuz