BE Media from Production

Description

When spinning up a staging or local development environment, you might not need the full uploads directory, but you also don’t want to see broken images throughout the site.

This plugin lets you use the production server for missing media. Define the production URL using a wp-config.php constant BE_MEDIA_FROM_PRODUCTION_URL or filter be_media_from_production_url.

In all cases, if a local file exists, it will be used in preference to the remote file.

Installation

Once the plugin is installed, add the following constant to wp-config.php with your production URL.

define( 'BE_MEDIA_FROM_PRODUCTION_URL', 'https://www.billerickson.net' );

Alternatively, you can use the filter in a Code Snippets plugin or a mu-plugin:

add_filter( 'be_media_from_production_url', function() {
    return 'https://www.billerickson.net';
});

Installation via WP-CLI and constants

wp plugin install --activate be-media-from-production
wp config set BE_MEDIA_FROM_PRODUCTION_URL https://www.billerickson.net --type=constant

Using with WP Migrate

WP Migrate is my preferred tool for pushing/pulling databases between environments. The media files functionality allows you to transfer media between environments along with the database.

When redesigning a website, I keep all the media on my development server and push up new media uploads along with the database.

Set up a “push” profile to push your local database to the development server. Make sure “Media Files” is checked and select “Compare, then upload”.

Set up a “pull” profile to pull the development database locally. Do not include media in your pull. Any missing media will be handled by BE Media from Production.

Reviews

November 8, 2022
I've used this plugin from Github for maybe 7 years now. It's nice to finally see it in the Wordpress plugin directory This is a must use on my local
November 2, 2022
Exceptionally clean plugin with an intuitive and developer-friendly setup that can easily be included through your site's wp-config.php file or with a wp-cli command like, wp config set BE_MEDIA_FROM_PRODUCTION_URL 'your-prod-website-url'. No more setting up confusing apache redirect rules in htaccess or jumping into nginx configuration files.
October 1, 2020
Incredibly useful plugin when doing local development work on sites with huge media libraries, when you don't want to fill up your local hard drive with or spend time syncing with your remote site.
September 18, 2020
This plugin works. It makes getting a WP install up and running easy - without having to download a client's 10GB+ uploads folder. So nice! Thanks!
June 21, 2020
Just a really great complement to localhost development, especially since pretty much every backup/export utility allows excluding certain directories, like wp-content/uploads Many thanks!
May 14, 2020
This plugin is a great partner for WP Migrate DB Pro. Keeping the upload files in sync with production tends to be a time-consuming task. With this plugin, it will turn into a walk in the park. We use a slider that seems to not yet be noticed by the plugin, will see if I can add this by myself. Besides that my first check looks like it is working nicely. And I like that the code of the plugin is easy to read and quite compact. Focussed on the essentials - I like that a lot.
Read all 8 reviews

Contributors & Developers

“BE Media from Production” is open source software. The following people have contributed to this plugin.

Contributors