WordPress Assets replacement


Even if it is not a best practice, sometimes you need to replace assets like CSS or JS files or libraries.

Note that the WordPress template overwriting system doesn't work with anything else than .php files, so when we talk about assets we refer to registered assets

One example could be the replacement of jQuery library with your desired version. In our child theme functions.php file we need to add a function that removes the current jQuery version and add our own from CDN(remember is just an example).

 * Dequeue the jQuery script and add our own version.
 * Hooked to the wp_print_scripts action, with a late priority (100),
 * so that it is after the script was enqueued.
function my_own_theme_scripts() {
    // remove the current version
    wp_dequeue_script( 'jquery' );
    // register my desired version
    wp_register_script( 'jquery', 'https://code.jquery.com/jquery-3.1.0.min.js', false, '3.1.0' );
    // load my version, here or somewhere else
    wp_enqueue_script( 'jquery' );
add_action( 'wp_print_scripts', 'my_own_theme_scripts' );