Supongamos que estamos desarrollando un plugin que necesita carga un archivo javascript en su página de ajustes, sólo necesitaríamos hacer la llamada del script para esa página en concreto y no en el resto de secciones del admin.

Para hacer esto podemos declarar una variable global a la hora de crear la página de ajustes, de ese modo podemos saber exáctamente cuando necesitamos cargar el script.

1. Crea la página de ajustes del plugin.

 
function my_settings_page (){
 
     global $my_settings_page;
 
     $my_settings_page = add_options_page( __('My Settings', 'my-domain'), 
                                           __('Settings', 'my-domain'), 
	 			           'manage_options', 
                                           'my-page-slug', 
	 				   'my-callback'
	 				 );
}
 
add_action( 'admin_menu', 'my_settings_page');

2. Haz la llamada en función del valor de la variable global $my_settings_page;

 
function my_admin_script( $hook ) {
 
    global $my_settings_page;
 
    if( $hook != $my_settings_page ) return;
 
    wp_enqueue_script( 'my-admin-script', MY_PLUGIN_URL . 'js/my-script.js');
}
 
add_action( 'admin_enqueue_scripts', 'my_admin_script' );
 
/*
Para cargar el script en otra de las páginas de WordPress, por ejemplo al editar un post:
 
if( $hook != 'edit.php' ) return;
 
Otras páginas:
- Escritorio: index.php
- Librería de medios: upload.php
- Comentarios: edit-comments.php
- Editar comentario: comment.php
- Apariencia: themes.php
- Widgets: widgets.php
- Menus: nav-menus.php
- Plugins: plugins.php
- Usuarios: users.php
- Ajustes generales: options-general.php
*/

Más información:
http://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts

Cargar javascript en el admin de WordPress sólo cuando se necesita
Etiquetado en:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *