In questo velocissimo articolo andremo a vedere come inserire un file javascript solo in certe pagine del backoffice di wordpress. Questa necessità si può rscontrare quando sviluppiamo un plugin e volgiamo utilizzare del codice customizzato javascript, ma solo se siamo in alcune pagine dove il nosro plugin agisce e solo se siamo lato admin, cioè nel pannello di wordpress.
[newsletter_form list=”1″]

L’inserimento di una libreria o script javascript in wordpress essenzialmente si avvale della funzione wp_enqueue_script (questo è il link al codex wordpress). Ma se noi volessimo caricare il nostro script solo lato admin e solo in certe pagine? Bene ecco un esempio di come poter fare. Caricheremo lo script nel footer lato admin e solo nella pagina product di woocommerce.
function my_admin_scripts() { $current_screen= get_current_screen(); if ($current_screen->post_type === "product" ) { wp_enqueue_script( 'my-plugin-script1', plugin_dir_url( __FILE__ ) . 'js/customscript'...... ); } else { //NON SONO IN PRODOTTO } } add_action( 'admin_footer', 'my_admin_scripts' );
Questa è la spiegazione del codice:
add_action( ‘admin_footer’, ‘my_admin_scripts’ );
qui c’è poco da dire hooks per caricare solo lato admin e nel footer.
$current_screen= get_current_screen();
Creiamo una variabile e ci mettiamo dentro un’oggetto che ci viene restituito dalla funzione get_current_screen(); che ci da (come da documentazione wp):
This function returns an object that includes the screen’s ID, base, post type, and taxonomy, among other data points
Infine:
if ($current_screen–>post_type === “product” ) {//se sono in prodotto allora faccio qualcosa
//Carico lo script
wp_enqueue_script( ‘my-plugin-script1’, plugin_dir_url( __FILE__ ) . ‘js/customscript’…… );
} else {
//NON SONO IN PRODOTTO e quindi non carico niente
}
Speriamo che questo codice possa esservi utile alla prossima
CFAdvanced Staff