wp_enqueue_style wp_enqueue_script utilizar script pospón mover carga archivos php javascript wordpress wordpress-plugin

php - wp_enqueue_script - cómo cargar Javascript en Wordpress Plugin



wp_enqueue_script footer (4)

Está incluyendo HTML en su archivo .js y nunca agregó un punto y coma al final de la alerta (). Tal vez intente solo tener esto en su popup.js:

function popup(){ alert(''hello there this is a test popup''); }

Y luego, en su HTML, agregue onload="popup()" a la etiqueta del cuerpo.

¿Puede alguien mostrarme cómo incluir este archivo de JavaScript en mi plugin de WordPress? He intentado todos los métodos wp_enqeue_script () pero no ocurre nada.

bien aquí está mi código de complemento de ejemplo con comentarios que explican lo que me gustaría.

<?php /* Plugin Name: Ava Test Plugin URI: http://#.com Description: A plugin that is used for my javascript tests Author: Ronny Kibet Author URI: http://ronnykibet.com version: 1.001 */ include(popup.js); /*when I include it this way, it works fine, but gives an error when I activate the plugin ''plugin generated 453 characters ...'' */ function popup() { $src = plugins_url(''popup.js'', __FILE__); wp_register_script( ''popup'', $src ); wp_enqueue_script( ''popup'' ); } /* when I included it this way, plugin is activated but nothing happens. */ ?>

este es el popup.js

<script type="text/javascript"> function popup(){ alert(''hello there this is a test popup'') } </script> <body onload="popup()"> </body>

Entonces, ¿alguien sabe cómo llamar a este script para que funcione correctamente en el plugin de WordPress?


popup.js solo debe popup.js código JavaScript, no HTML. Pruebe esto (en popup.js )

function popup(){ alert(''hello there this is a test popup''); } window.addEventListener(''load'',function(event){popup();},false);

O simplemente esto:

window.addEventListener(''load'',function(event){ alert(''hello there this is a test popup''); },false);


Aprender a trabajar dentro de la estructura de WP puede ser frustrante.

Y, aprender a utilizar javascript puede ser aún más frustrante.

Entonces, todos aquí han contribuido con algo valioso, sin embargo, necesitas unir todo. Asi que:

Primero:
Elimine su línea de inclusión. No lo necesitas.

Segundo:
Asegúrese de que la variable $ src en su código sea, de hecho, la ruta correcta. Yo agregaría un:

echo $src;

Para PRUEBA si la ubicación es correcta.

Tercero: Aghoshx es correcto: DEBE tener la referencia del gancho:

add_action(''init'',''popup'');

(Desde que mencionaste la función emergente, eso es lo que puse; SIN EMBARGO, para evitar las colisiones de nombre de función con otras funciones y complementos de WP, te recomiendo que la cambies a algo más único, como aghoshx propuesto)

Cuarto: Verifique que su script esté CARGANDO. Después de hacer los pasos 1 a 3 anteriores, vaya a actualizar la página de WP y haga una "fuente de vista". Busque su archivo de script. Si estás en Firefox, puedes HACER CLIC en la url y se cargará. Si estás en IE, copia y pega la url en la barra de direcciones y verifica si tu archivo está ALLÍ (si es así, es cargando. Si NO, entonces NO está cargando el archivo correctamente, y necesita corregir la ruta que está configurando en la variable th $ src).

En quinto lugar: una vez que obtenga lo anterior, cillosis tiene razón; debe eliminar todo, PERO la función javascript (incluso elimina las etiquetas) del archivo javascript.

Finalmente: observe la respuesta de Martti Laines: debe vincular el evento utilizando su window.addEventListener sugerido, O BIEN modifique la etiqueta en su plantilla de php para que contenga onload = "popup" (como lo hizo en el archivo de script).

Una última sugerencia:

jQuery hace MUCHO más fácil. Es muy fácil incluir jQuery en tu plugin de WP. Simplemente agregue esto en su función emergente php:

enqueue_script(''jquery'');

¡Buena suerte!


Debe especificar cuándo debe producirse la carga, intente esto.

<?php /* Plugin Name: Ava Test Plugin URI: http://#.com Description: A plugin that is used for my javascript tests Author: Ronny Kibet Author URI: http://ronnykibet.com version: 1.001 */ add_action(''wp_enqueue_scripts'',''ava_test_init''); function ava_test_init() { wp_enqueue_script( ''ava-test-js'', plugins_url( ''/js/ava_test_.js'', __FILE__ )); }

Además, hay errores en su JS, pero he visto la versión correcta en algunas respuestas, espero que esto ayude

Actualización: Hay un gancho llamado wp_enqueue_scripts, como lo menciona @brasofilo, que se debe usar en lugar de init para cargar scripts.