WordPress: includere correttamente gli script JavaScript nel nostro tema o plugin

In WordPress esistono modi giusti e sbagliati per eseguire una determinata azione. Il problema è che in WordPress spesso il modo sbagliato funziona come quello corretto. Questo è il caso ad esempio dell'inclusione di script JavaScript nel nostro tema.

Considerate il seguente codice:


function add_scripts() {
	wp_register_script('lib', get_template_directory_uri() . '/js/lib.js', '1.0', true);
	wp_register_script('script', get_template_directory_uri() . '/js/script.js', '1.0', array('lib'), true);
	wp_enqueue_script('lib');
	wp_enqueue_script('script');
}

add_action('wp_footer', 'add_scripts');

In questo caso l'errore sta nel fatto che abbiamo usato l'hook sbagliato, ossia wp_footer. In realtà usando il valore true nella funzione wp_register_script() abbiamo già specificato che gli script andranno inseriti nel footer.

Il modo corretto è usare wp_enqueue_scripts ma non in un'unica funzione come sopra, bensì in due funzioni distinte, una per la registrazione e l'altra per l'inclusione:


function my_register_scripts() {
	wp_register_script('lib', get_template_directory_uri() . '/js/lib.js', '1.0', true);
	wp_register_script('script', get_template_directory_uri() . '/js/script.js', '1.0', array('lib'), true);
}

add_action('wp_enqueue_scripts', 'my_register_scripts');

function my_enqueue_scripts() {
	wp_enqueue_script('lib');
	wp_enqueue_script('script');
}

add_action('wp_enqueue_scripts', 'my_enqueue_scripts');

In questo modo è molto più semplice aggiungere, rimuovere o semplicemente gestire i nostri script.

Torna su