How To: Cargar Javascript en tus plugins de wordpress
Agregar Javascript dentro de la página de adminstración (Dashboard), es una parte fundamental dentro de la codificación de un plugin. Critica y a la vez trivial ya que probablemente es la razón número 1 porque la que se presentan conflictos con otros plugins, cuando el plugin necesita de Javascript, los buenos desarrolladores de plugins se deben verificar los siguientes puntos:
- Agregar Javascript sólo una vez: Si necesita prototype, jQuery, Moontool, etc, asegurese de no incluirlo en repetidas ocaciones y verificar que no haya sido ya incluido.
- Incluir Javascript sólo en la página de su plugin: Evite cargar yourscript.js en cada una de las páginas de administración (con “admin_head”).
Agregar Javascript solo una vez
Necesita incluir alguna libreria Javascript o algún Script externo? nunca utilice la siguiente línea: echo ‘<script src=”javascriptlibrary.js”></script>’;, el script ya podria haber sido cargado, lo que significaria agregarlo y cargarlo de nuevo.
En lugar de ello puede utilizar wp_enqueue_script():
[php]wp_enqueue_script(’prototype’);
wp_enqueue_script(’myscript’, ‘/wp-content/plugins/myplugin/myscript.js’);
wp_enqueue_script(’theirscript’, ‘http://theirsite.com/script.js’);[/php]
Incluso más fácil, si su plugin necesita por ejemplo Scriptaculous para trabajar, solo hay necesidad de:
[php]wp_enqueue_script(’myscript’, ‘/wp-content/plugins/myplugin/myscript.js’, array(’scriptaculous’) );[/php]
Modo de Uso:
wp_enqueue_script( [string: handle], [optional string: src], [optional array: dependencies], [optional string: version number])
Mas Información: Function Reference/wp enqueue script
Agregar javascript sólo en tu página
Nunca utilizes la llamada a “admin_head” para añadir un script, no sólo estaria añadiendo el script a cada una de las páginas de administración (Dashboard, Comments, Manage, ect) sino también a todas las páginas de los otros plugins, una manera inteligente de trabajar es utilizando la función strpos() por encima de $pagenow o $_SERVER['REQUEST_URI'], deberia usar la llamada ‘admin_print_scripts-(page_hook)’.
Ejemplo de como se deberia crear un plugin para la página Manage del panel de administración:
[php]$mypage = add_management_page( ‘myplugin’, ‘myplugin’, 9, __FILE__, ‘myplugin_admin_page’ );
add_action( “admin_print_scripts-$mypage”, ‘myplugin_admin_head’ );
function myplugin_admin_head() {
// what your plugin needs in its <head>
}[/php]
Leer Más: How To: Load Javascript With Your WordPress Plugin




