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' );