Sé que puedo agregar un archivo de script al pie de página de WordPress que requiere jquery usando este código:
<?php
function my_scripts_method() {
// register your script location, dependencies and version
wp_register_script('custom_script',
get_template_directory_uri() . '/js/custom_script.js',
array('jquery'),
'1.0',
true);
// enqueue the script
wp_enqueue_script('custom_script');
}
add_action('wp_enqueue_scripts', 'my_scripts_method');
?>
Pero, ¿qué pasa si quiero agregar solo un fragmento normal de jquery en línea, no un archivo? ¿Cómo se puede hacer esto?
Editar
Sé que puedo usar este script para agregar algo al pie de página:
<?php
function myscript() {
?>
<script type="text/javascript">
// This depends on jquery
</script>
<?php
}
add_action('wp_footer', 'myscript');
Pero, ¿cómo especifico el script que se utiliza? Requiere jquery para ejecutarse.
plugin-development
jquery
wp-enqueue-script
Saif Bechan
fuente
fuente
wp_register_script
ywp_enqueue_script
existe, pero puede verificarlo usando jquery.wp_enqueue_script
un archivo de script en el pie de página, quiero agregar un fragmento en el pie de página que requiere jquery. Voté la respuesta directamente tomada del códice. Leí el códice y no encontré una respuesta, por eso hago una pregunta. Si me redirige al códice de nuevo, lo rechazo.Respuestas:
La forma más fácil de hacer esto es en realidad una combinación de
wp_enqueue_script
las acciones de pie de página que Saif y v0idless ya mencionaron. Frecuentemente uso jQuery en mis temas y complementos, pero también pongo todos los otros scripts en el pie de página.La mejor manera de poner las cosas en cola sería esta:
Pero este código recortado supone que usted es el que pone en cola el script, es decir, lo está haciendo en su propio complemento o tema.
Por el momento, no hay forma de agregar un script en línea al pie de página de WordPress y tampoco cargarlo con dependencias. Pero hay una alternativa, si estás dispuesto.
La alternativa
Cuando WordPress trabaja con scripts, los carga internamente en un objeto para realizar un seguimiento de ellos. Básicamente, hay 3 listas dentro del objeto:
Cuando registra un script por primera
wp_register_scripts()
vez, se coloca en la lista registrada. Cuandowp_enqueue_script()
el script, se copia a la lista de colas. Después de imprimirlo en la página, se agrega a la lista de finalizados.Entonces, en lugar de poner en cola su script de pie de página para requerir jQuery, puede documentar que necesita usar jQuery y simplemente verificar programáticamente para asegurarse de que jQuery esté cargado.
Esto se usa
wp_script_is()
para verificar dónde se encuentra el script.Es posible que pueda usar este mismo código para forzar a jQuery a cargar también en el pie de página, pero no lo he probado ... por lo que su kilometraje puede variar.
fuente
Desde wordpress 4.5 puede agregar script en línea por
wp_add_inline_script()
. Para agregar un fragmento de JavaScript al pie de página que requiere jQuery, este código lo ayudawp_add_inline_script con wordpress jquery
fuente
Usa la
wp_footer
acción de esta manera:fuente
Sé que OP quiere especificar un requisito en jQuery, y los autores de WordPress deberían haber permitido que los fragmentos se pusieran en cola junto a los archivos de script, pero no lo hicieron, por lo que recomiendo no intentar forzarlo. Si no quiere meterse con la cola o su orden, como yo (porque estoy usando otros complementos que combinan y optimizan los scripts), entonces la respuesta realmente es usar la
wp_footer
acción de esta manera:fuente
Puedes usar la
wp_footer
acción para hacer esto. Verifique el códice para wp_footer .fuente
in_footer
argumentowp_enqueue_script
? Lea esto: codex.wordpress.org/Function_Reference/wp_enqueue_script . Te dice cómo usarlo con lawp_footer
acción.