Register and enqueue conditional (browser-specific) javascript files?

WP_Scripts and WP_Styles classes are behind wp_enqueue_script and wp_enqueue_style functions. If you take a look at classes implementation (scripts and styles) then you will see that WP_Scripts class doesn’t support any kind of conditional scripts, but! you can see that WP_Styles does! The problem is that wp_enqueue_style doesn’t allow you to setup condition. So we … Read more

How to add javascript just before the closing body tag in the footer of WordPress

You should always add javascript (and styles) with the WordPress function wp_enqueue_script() Works like this: wp_enqueue_script( $handle // the name of your enqueued file, in your case ‘myscript’ ,$src // source of your file, can be external, or for your example: get_bloginfo(‘template_directory’) . ‘/js/scripts.js’ ,$deps // does your javascript depend on another javascriptfile? for example … Read more

Is it Possible to Extend WP Customize JS Methods?

I will enhance my small comment on your question. But again the hint; I’m not a JS expert. The follow source, hints was only used on playing with the Customizer for different checks, examples, like my sandbox. wp.customize Understanding the WP theme customizer interface centers around understanding the wp.customize javascript object. The wp.customize object is … Read more

Adding javascript to child theme

You should enqueue the script in child theme’s functions.php. for example if name of the js file is custom.js and if you place it under js folder in your child theme, then in functions.php you should add function my_custom_scripts() { wp_enqueue_script( ‘custom-js’, get_stylesheet_directory_uri() . ‘/js/custom.js’, array( ‘jquery’ ),”,true ); } add_action( ‘wp_enqueue_scripts’, ‘my_custom_scripts’ ); Here … Read more

Customizer JS API

1) Maybe bind to the api.ready state which may fix having to call your section twice (function($, api){ api.bind( ‘ready’, function() {… } })(jQuery); I saw a note in trac that said “Note that the APIs for dynamically-added controls, and APIs for JS-templated custom Sections and Panels are not yet available as of WordPress 4.2. … Read more

How to intercept already localized scripts

wp_localize_script() calls the method localize() on the global variable $wp_scripts. We can set this variable to an instance of a child class of WP_Scripts: class Filterable_Scripts extends WP_Scripts { function localize( $handle, $object_name, $l10n ) { $l10n = apply_filters( ‘script_l10n’, $l10n, $handle, $object_name ); return parent::localize($handle, $object_name, $l10n); } } add_action( ‘wp_loaded’, function() { $GLOBALS[‘wp_scripts’] … Read more