WordPress 3.3 e le librerie jQuery e jQuery UI

Serata dedicata a testare WordPress 3.3. Mentre Sitepoint offre una rapida scorsa ad alcune nuove caratteristiche dell’interfaccia, io mi sono soffermato ad analizzare le nuove potenzialità offerte agli sviluppatori dal più completo supporto delle librerie jQuery e jQuery UI.

Appena una settimana fa mandavo alla redazione di ioProgrammo un articolo in cui spiegavo come incorporare il datepicker di jQuery UI nelle schede di inserimento e modifica degli articoli. La versione corrente di WordPress, la 3.2, sebbene supportasse molte delle funzionalità di jQuery UI, non offriva un supporto completo e, nello specifico, non supportava il widget datepicker.

Ora, appena una settimana dopo, cambia tutto con WordPress 3.3. Per rendercene conto facciamo la differenza tra le due immagini che seguono. La prima mostra il contenuto della directory wp-includes/js/jquery/ui in un’istallazione di WP3.3:

Il contenuto della directory wp-includes/js/jquery/ui di WordPress 3.3

La seconda immagine mostra il contenuto della cartella wp-includes/js/jquery in WP3.2.1:

Il contenuto della directory wp-includes/js/jquery in WordPress 3.2.1

Avrete notato che nell’istallazione di WordPress 3.3 vi è una directory dedicata esclusivamente a jQuery UI e il numero delle librerie contenute è decisamente superiore rispetto all’istallazione di WordPress 3.2.1.

Vista la completa disponibilità di effetti, interazioni, widgets e utilities, cambia anche il modo di incorporare le librerie in temi e plugin. Il datepicker, come detto, non era supportato da WP3.2.1: per dotare i custom meta-box di datepicker era necessario o scaricare il widget dalla sezione download del sito, e incorporarlo come qualunque altro script, oppure deregistrare la versione predefinita di jQuery UI e registrarne un’altra, completa di datepicker, come nel codice che segue:

// deregister default jquery-ui core
wp_deregister_script('jquery-ui-core');
// register jquery-ui 1.8.16 from Google CDN
wp_register_script('jquery-ui-core', 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js', array('jquery') );
// enqueue jquery-ui
wp_enqueue_script( 'jquery-ui-core' );

Ora, con WordPress 3.3, basta questo:

wp_enqueue_script( 'jquery-ui-core', array('jquery') );
wp_enqueue_script( 'jquery-ui-datepicker', array('jquery-ui-core', 'jquery') );

E questo è l’effetto:

Il datepicker è al suo posto senza la necessità di librerie esterne.

Un’ultima nota sulle versioni: WP3.3 supporta jQuery 1.7.1 e jQuery UI 1.8.16.

Annunci