Esiste una soluzione che richiede semplicemente l'uso di jQuery per caricare in modo automatico i vari plugin JavaScript in WordPress. Vediamola insieme.
La soluzione è la seguente:
(function( $ ) {
var Loader = (function() {
var getPlugin = function( path, callback ) {
$.getScript( path, callback );
};
var loader = {};
loader.addPlugin = function( name, path, options ) {
options = options || {};
loader[name] = {
init: function( element ) {
getPlugin( path, function() {
$( element )[name]( options );
});
}
}
};
return loader;
})();
})( jQuery );
La soluzione sfrutta il metodo $.getScript()
di jQuery. Notate l'uso delle parentesi quadre per accedere all'oggetto del plugin una volta caricato lo script. Il parametro name
corrisponde al nome usato dal plugin. Esempio d'uso:
(function( $ ) {
$(function() {
var baseURL = "http://" + location.host + "/wp-content/themes/mytheme/js/";
if( $( "#slider" ).length ) {
Loader.addPlugin( "flexslider", baseURL + "jquery.flexslider.js" );
Loader.flexslider.init( "#slider" );
}
});
})( jQuery );
In questo modo i plugin vengono caricati solo quando è necessario.