He estado tratando de incluir los efectos jquery ui (más específicamente el efecto de sacudida) en mi tema de wordpress. Hasta ahora, solo he podido incluir el script jQuery, pero realmente no tengo idea de dónde colocar los scripts ui y cómo ponerlos en cola.
Este es el código que tengo. Obviamente no funciona:
<?php wp_enqueue_script("jquery"); ?>
<?php wp_enqueue_script("jquery-ui-core"); ?>
<?php wp_head(); ?>
<link rel="stylesheet" type="text/css" href="<?php bloginfo('stylesheet_url'); ?>" />
<script type="text/javascript">
var $j = jQuery.noConflict();
$j(document).ready(function() {
$j("#manita-imagen").mouseover(function(){
//$j(this).animate({ opacity: "hide" })
// alert('asd');
$j(this).effect("shake", { times:3 }, 300);
});
});
</script>
¡Gracias por tu ayuda!
jquery
wp-enqueue-script
dabito
fuente
fuente
Respuestas:
Si bien WordPress incluye las bibliotecas de jQuery UI, no incluye la biblioteca de UI / Efectos. Esa biblioteca es independiente y autónoma. Deberá incluir una copia del archivo effects.core.js y ponerla en cola por separado.
Tenga en cuenta que debe nombrarlo jquery-effects-core al ponerlo en cola, para nombrar la coherencia.
Puedes incluirlo así:
Editar : Esta respuesta fue escrita antes de WordPress 3.3, que ahora incluye varias bibliotecas de efectos como parte del núcleo. Simplemente puede poner en cola las piezas de la biblioteca de efectos que necesita usar ahora.
La lista de slugs para estos archivos se puede encontrar en wp-includes / script-loader.php, pero el slug del núcleo es jquery-effects-core.
fuente
wp_enqueue_script( 'jquery-effects-fade' );
@dabito,
No está cargando sus scripts correctamente ... No llame
wp_enqueue_script()
dentro de su archivo de plantilla de tema (parece que esheader.php
). Debe llamar a esta función desde un enlace separado.En el
functions.php
archivo de su tema , coloque el siguiente código:Si ambos scripts están registrados correctamente, esto debería cargarlos bien (agregando las
<script />
etiquetas apropiadas en el encabezado. Entonces su otro código JavaScript debería funcionar.Si desea agregar scripts al lado administrativo de las cosas, agregue su acción a
admin_enqueue_scripts
.fuente
wp_enqueue_scripts
es definitivamente la mejor manera de hacerlo y evita la necesidad de unis_admin()
control adicional .También puede poner en cola toda la interfaz de usuario jQuery directamente desde Google. Así es como lo hago:
Y dado que jQuery aparece como una dependencia para la interfaz de usuario de jQuery, no necesita ponerla en cola manualmente. WordPress lo hará automáticamente por ti.
fuente
No parece haber una carga predeterminada para esta biblioteca jQuery (lista completa aquí ), por lo que es probable que tenga que registrar el script antes de ponerlo en cola.
fuente
Solo unos pequeños consejos. Cuando pone en cola su script, se pone en cola para todo el sitio, incluido el panel de administración. Si no desea el script en el panel de administración, solo puede incluirlos para el sitio en la interfaz.
fuente
wp_enqueue_scripts
acción es solo para front-end. Gracias :)Todas las respuestas aquí, mientras funcionan, son técnicamente incorrectas.
La forma correcta de incluir jquery-ui y otras bibliotecas es incluirlas como dependencias de su propio script.
Esto es importante, porque las herramientas de rendimiento pueden verificar estas dependencias para alterar el orden de carga de sus scripts para optimizar el sitio.
Por lo tanto, si desea usar jquery y jquery-ui, cree su propio archivo de script .js y póngalo de esta manera, con las dependencias enumeradas, sin necesidad de un comando en cola separado para cada biblioteca que esté usando:
Puede encontrar una lista de todos los scripts disponibles para agregar como dependencias aquí: https://developer.wordpress.org/reference/functions/wp_enqueue_script/
fuente