Oferta SiteGround Black Friday

Aprovecha jQuery incluido en WordPress (actualizado)

Si usas las últimas versiones de WordPress ya te habrás dado cuenta de que cuando eliges el botón del editor para subir una imagen la pantalla se oscurece y te muestra en primer plano la ventana de carga de archivos. Pues bien, eso es jQuery y Thickbox, incluidos en la instalación de WordPress.

jquery-wp

Así que ¿por qué no aprovecharlo en vez de instalar un plugin tipo lightbox con el que mostrar a mayor tamaño tus imágenes sin salir de la página?

El proceso es más sencillo de lo que imaginas. Lo primero es configurar las opciones de Objetos en el panel de admin, de este modo podrás definir el tamaño de las miniaturas de las imágenes, lo pones a tu gusto.
jquery-wp1

Ahora tenemos que modificar el fichero header.php de nuestro theme, añadiéndole, justo antes de lo siguiente:

<?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>
<?php wp_enqueue_style('thickbox'); ?>
<?php wp_enqueue_script('jquery'); ?>
<?php wp_enqueue_script('thickbox'); ?>
<?php wp_head(); ?>

Es posible que ya la primera y última línea ya las tengas en el fichero header.php, en ese caso simplemente añade las otras 3 entre medias.

Y ya tenemos la infraestructura. Ahora, cuando subamos una imagen en nuestros posts, si queremos aprovechar el jQuery y Thickbox incluidos simplemente haremos lo siguiente:

  1. Subimos la imagen como hacemos normalmente
  2. Elegimos que muestre la miniatura
    jquery-wp2
  3. Nos aseguramos que la miniatura enlazará a la imagen completa
    jquery-wp3
  4. Añadimos la clase Thickbox a la ruta de la imagen
    jquery-wp4

Ya está, ahora cuando hagan clic en la imagen nuestros lectores ya tendrán ese bonito efecto emergente que mostrará la imagen completa sin salir de la página.

computrekaw

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 3 / 5. Total de votos: 2

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado. ¡Ah! ¿te funciona? pues entonces no he dicho nada :)

Sobre el autor

28 comentarios en “Aprovecha jQuery incluido en WordPress (actualizado)”

  1. Impresionante!!! voy corriendo a aplicarlo en mis blogs =P

    Una pequeña duda… al usar jQuery no será un boom para los procesos del servidor?

      1. Bueno… gracias por la respuesta 😉

        Igual y me voy a poner a investigar un poco sobre el uso de recursos de jQuery, justo ahora estoy en un reach de visitas importante ( 10,000 por día) y no quiero empezar a tener problemas jeje

  2. Genial tip (que raro que a nadie se le haya ocurrido antes xD), pero personalmente no me agrada el efecto de las lightbox y demas 😛 .

    Alan: Se supone que jQuery es ligero y no debería joder al servidor, espero que alguien más capacitado nos pueda orientar xD.

  3. Mmmmm…la imagen de la mochila tiene ese efecto? porque yo no lo veo, uso firefox 3.0.11 y acabo de probar en IE8 en una maquina virtual y tampoco se ve.

    Saludos

  4. Estaba probando el ShadowBox, y esta interesante…. pero mejor probare lo que mencionan aquí creo que es un poco mejor…

    Es lo malo con tantas funciones nuevas y tantos plug-ins, ya ni sabe uno que es mejor… jeje Saludos

  5. Perdón, me parece una idea estupenda, pero soy bastante ignorante y hay dos cosas que no entiendo bien:

    1. Donde dice "… Ahora tenemos que modificar el fichero header.php de nuestro theme, añadiéndole, justo antes de lo siguiente: …"

    Creo que hay algún error en la redacción. ¿Antes de dónde hay que añadir las líneas de código? ¿No falta algo entre "antes de" y "lo siguiente"?

    2. A continuación del punto "4. Añadimos la clase Thickbox a la ruta de la imagen" las dos líneas siguientes del ejemplo de ruta de la imagen parecen incompletas. ¿Hay que escribirlo todo junto o son dos líneas distintas?

    Muchas gracias si me lo podeis aclarar, porque tengo ganas de utilizarlo.

    1. Igual tienes razón, puede que no me haya explicado bien … 

      1. Es probable que ya tengas las líneas 1 y 5, si es así añade las líneas 2,3 y 4, y sino añade las que falten (la 5 seguro que la tienes)

      2. Lo único importante es <code>class="thickbox"</code>, el resto es tu enlace normal, por eso no sale completo

      1. Muchas gracias por tus explicaciones, Fernando. Al final he caído en la cuenta de que, aparte de modificar el header.php, sólo tenía que incluir class="thickbox" en el html de la entrada, pero como hasta ahora sólo había usado el editor visual, no me había dado cuenta. Ahora funciona todo a las mil maravillas y es una gozada.

        Por favor, elimina del foro una entrada que inicié con el mismo tema y que no tiene ninguna respuesta, porque aquí ya queda perfectamente resuelto.

        De nuevo gracias.

  6. hola fernando! espectacular este ejemplo como siempre!!

    lo estoy usando en un par de sitios, y funciona a la perfeccion…

    una sola duda, existira algun modo de hacer que este sea el comportamiento por defecto, sin tener que agregarle el "class=thickbox"?

    vi aca http://www.anthonyshapley.co.uk/jquery-lightbox-o

    esta linea de codigo

    <code>

    $(document).ready(function()

    {

    // jQuery LightBox

    $(’a[@href$=".jpg"]‘).lightBox();

    });

    </code>

    como se puede reformular para que agregue el class por defecto?

    saludos!

  7. Francisco Diaz

    Primeramente dar la enhorabuena al equipo de esta fantástica web.

    Respecto a este gran truco tengo 2 cuestiones que espero puedan resolver:

    1.- Cuando pulso la imagen pequeña (thumbnail) la imagen ampliada sale de manera instantánea en vez de hacerlo poco a poco. He visto otros blogs con WordPress en los que, a pesar de no tener que descargar la imagen grande, el marco y el efecto de sombreado aparecen de manera progresiva, luego mucho más elegante.

    2.- Si estoy metido dentro de un post que tiene una imagen con este efecto, al abrirla sale una X (que es una imagen) para cerrar el marco de la imagen grande, sin embargo si estoy en la página principal, en la que se visualizan a la vez los últimos posts, si pulso una imagen con este efecto NO sale la X para cerrar el marco de la imagen grande.

    Gracias.

    1. Francisco Diaz

      En el punto 2, no confundir la imagen de la X que sale cuando estoy viendo la imagen ampliada estando dentro del post (que es la que debería aparecer siempre) con la X que sale cuando estoy viendo la imagen ampliada estando en la página principal (que es la típica X roja que aparece cuando hay un enlace roto a una imagen).

  8. Hola, pues yo segui todo como dice en el post pero a mi no me funciona el efecto, me abre la miniatura en una pagina entera como un simple enlace pero nada de efecto lightbox, alguna idea? como te dije hice todo como pone el post mi plantilla es la default en wordpress 2.8.4

    1. O mejor dicho sucede igual que dice Francisco aparece de golpe la imagen haciendo el efecto de oscurecimiento pero sale tan deprisa que parece que se habra en una nueva ventana, como se le podria dar el efecto de progresion al habrirse como lo hace cuando vamos a subir imagenes a nuestra galeria mediante el panel de control, si se supone que es el mismo efecto uno que otro, gracias

  9. Interesante post, justo estaba buscando un plugin para hacer ese efecto, pero si se puede usar con herramientas ya instaladas (jquery) mejor, lo que si seria muy bueno, es que la class se coloque por default, aparte no es necesario que la imagen sea una miniatura, tambien cuenta con las imagenes que reduzcas de forma manual en el post.

    Saludos

  10. Hola, muy buen post, felicidades por el sitio. El unico inconveniente que veo al dar clic en la imagen que pones de prueba, y revisar con las flechitas la sgte foto salen las imagenes de configuracion de facebook, se pdria evitar eso y mostrar solo las imagnes que uno quiera??

    Saludos

  11. Pues a mi hay algo que no me funciono… quiero que las imagenes se enlacen entre si en el cuadro donde aparece la imagen en grande, que las pueda ir pasando como en el ejemplo, como en una galería, pero no se como hacerlo, me podrías ayudar por favor???

    1. Podes ver el codigo para ver como lo hizo Fernando o ir directamente a al página de Thickbox y seguro que ahi vas a encontrar varios ejemplos de como se hace. Espero que te sea de utilidad.

      saludos

  12. G-nial tip…
    solo que no me soluciona el problema que tengo en la actualidad, mi tema ya maneja thickbox por default, nada mas que al activar el plugin nextgen gallery, èste no funciona, alguna solucion o algun plugin para probar si funciona?de antemano Gracias!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
- Responsable: Fernando Tellado ([email protected])
- Fin del tratamiento: Moderación de comentarios para evitar spam
- Legitimación: Tu consentimiento
- Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
- Derechos: Acceso, rectificación, portabilidad, olvido

 

Scroll al inicio