Agregar un script jQuery a WordPress Admin

3 minutos de lectura

Por alguna razón, no puedo obtener las páginas de wordpress/wp-admin para ejecutar un archivo de consulta simple. Solo funciona si anulo el registro de jquery en mi functions.php dentro de mi carpeta de temas, pero luego debo volver a registrar todos los archivos jquery.ui por separado, lo cual es tedioso. Estoy usando la instalación multisitio de wordpress 3.0. Estoy tratando de no tocar los archivos principales de wp.

Se mostrará en la fuente y los enlaces al archivo están bien, pero no ejecutará el script. aquí está lo que tengo en mi functions.php:

function my_script() {
if (!is_admin()) {
    wp_deregister_script('jquery');
    wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js', false, '1.4.4');
    wp_enqueue_script('jquery');
    wp_enqueue_script('custom_script', get_bloginfo('template_url').'/js/myScript.js', array('jquery'));
}
if(is_admin()){
    wp_enqueue_script('custom_admin_script',  get_bloginfo('template_url').'/js/admin_script.js', array('jquery'));
}   }

add_action(‘init’, ‘mi_script’);

Aquí está mi archivo jquery (admin_script.js):

$(document).ready(function(){
alert("Hello"); });

cualquier ayuda sería genial.

  • Dado que nunca estoy seguro de que no habrá ningún conflicto, utilizo esto de forma predeterminada, ya que se encarga de ello y puedo apegarme a mi normal: (función ($){ // todo mi jQuery usando $(‘selectors ‘) })(jQuery);

    – David Hobs

    25/09/2012 a las 21:37

Tenga en cuenta que el jQuery incluido con WordPress se ejecuta en Modo sin conflicto hasta donde yo sé, lo que significa que no hay $pero en lugar jQuery. Probablemente por eso canceló el registro del jQuery incorporado y usó el de Google CDN. Ese probablemente no se ejecuta en ese modo.

No tengo ninguna experiencia con wordpress, por lo que podría cometer un error aquí. Solo asegúrese de que el jQuery incorporado esté disponible y cargue su script.

function my_script() {
    if (!is_admin()) {
        wp_enqueue_script('custom_script', get_bloginfo('template_url').'/js/myScript.js', array('jquery'));
    }
    if(is_admin()){
        wp_enqueue_script('custom_admin_script', get_bloginfo('template_url').'/js/admin_script.js', array('jquery'));
    }   
}

Cambie su admin_script.js para usar jQuery en cambio $.

jQuery(document).ready(function(){
    alert("Hello"); 
});

Vea si eso funciona para usted. Si te gusta usar $ probablemente podrías escribir var $ = jQuery; en la parte superior de su admin_script.js.

  • jQuery en realidad se pasa a sí mismo como el primer argumento de la función que llama, por lo que puede escribir jQuery(document).ready(function ($) { $('#blah').click(); }); etc. O, por supuesto, simplemente jQuery(function ($) { $('#blah').click(); });.

    – alnorte29

    26 de junio de 2015 a las 15:58


Avatar de usuario de NewUser
Nuevo Usuario

Puedes hacer esto

<?php add_action( 'admin_enqueue_scripts', 'function_name' ); ?>

Esto se puede usar así

<?php 
  add_action( 'admin_enqueue_scripts', 'load_custom_script' ); 
  function load_custom_script() {
      wp_enqueue_script('custom_js_script', get_bloginfo('template_url').'/js/custom-script.js', array('jquery'));
  }
?>

Para obtener más ayuda, consulte la documentación. aquí

¿Ha sido útil esta solución?