
In this post, I show how to setup a simple environment based configuration for your WordPress site. It’s useful in situations where you’re using minification/concatenation in your build depending on your development versus production environments.
How To Set Environment
Place the below code in your wp-config.php file. Or, if you have a .env file you use, you can define this variable there.
define('ENV', 'development');
Check For Environment And Setting Correct Path For CSS/JS
The below code assumes your dev environment assets are located in the build folder and production/staging assets are located in the dist folder. If in your case they are located in the same folder, you can just remove that piece of code. Basically, adjust the paths as needed.
// Check Environment
if (WP_ENV === 'development') {
$GLOBALS['$asset_root'] = 'build';
$GLOBALS['$styles'] = "style.css";
$GLOBALS['$js'] = "main.js";
} else {
$GLOBALS['$asset_root'] = "dist";
$GLOBALS['$styles'] = "style.min.css";
$GLOBALS['$js'] = "main.min.js";
}
/**
* Theme assets
*/
add_action('wp_enqueue_scripts', 'theme_assets');
function theme_assets()
{
// CSS
wp_enqueue_style('css', get_stylesheet_directory_uri() . '/' . $GLOBALS['$asset_root'] . '/css/' . $GLOBALS['$styles']);
// JS
wp_enqueue_script('js', get_stylesheet_directory_uri() . '/' . $GLOBALS['$asset_root'] . '/js/' . $GLOBALS['$js'], array('jquery'), '1.0', true);
}