Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

[SOLUCIONADO] Problema con plugin Fancybox

Estas en el tema de Problema con plugin Fancybox en el foro de WordPress en Foros del Web. Hola, he visto que le ha pasado a otra gente pero no se ha solucionado el problema, o no era exactamente como mi caso. He ...
  #1 (permalink)  
Antiguo 12/02/2013, 15:03
 
Fecha de Ingreso: mayo-2012
Mensajes: 25
Antigüedad: 11 años, 11 meses
Puntos: 1
Problema con plugin Fancybox

Hola, he visto que le ha pasado a otra gente pero no se ha solucionado el problema, o no era exactamente como mi caso.

He instalado el plugin Fancybox for Wordpress, y se supone que lo instalas, lo activas y ya funciona sobre tus imágenes, pero no me funciona.

Por lo que he leido, el problema es que tengo instalado de forma manual NivoSlider. Pongo el codigo que tengo de NivoSlider:

En header.php:

Código:
<?php wp_enqueue_script("jquery"); ?><!-- Añadido por mi -->

<?php wp_head(); ?>
<?php woo_head(); ?>

<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/scripts/jquery.nivo.slider.pack.js"></script>

<!-- Añadido por mi -->
<!-- NivoSlider -->
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_url');?>/scripts/nivo-slider.css" media="screen" />
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_url');?>/scripts/themes/default/default.css" media="screen" />

<script type="text/javascript">
	
	var $j = jQuery.noConflict();

 	$j(window).load(function() {	
	$j('#nivoslider').nivoSlider({pauseTime: 4000,pauseOnHover: true});
	});
</script>
He puesto lo de wp_enqueue_script y lo de $j porque he leido que así se solucionaba, pero no ha funcionado..

y en functions.php:

Código:
function mimetodo() {

if (!is_admin()) {

wp_deregister_script( 'jquery' );

wp_register_script( 'jquery', '/wp-content/themes/canvas/canvas/scripts/jquery-1.9.0.min.js');

wp_enqueue_script( 'jquery' );
}
}
add_action('init', 'mimetodo');

A ver si alguien sabe cual es el problema.
Muchas gracias!!!
  #2 (permalink)  
Antiguo 12/02/2013, 17:28
Avatar de 23r9i0  
Fecha de Ingreso: noviembre-2008
Ubicación: Catalonia
Mensajes: 203
Antigüedad: 15 años, 5 meses
Puntos: 33
Respuesta: Problema con plugin Fancybox

Primero elimina tu añadido de tu header.php
Despues cambia
Código:
add_action('init', 'mimetodo');
por
Código:
//add_action('init', 'mimetodo');
Despues desactiva el plugin Fancybox for Wordpress mas adelante fancy
Y entra en tu web y mira si funciona el nivo, si funciona significa que desde algun sitio añaden la libreria jQuery, con lo cual no tienes que cargarla de nuevo para usar el fancy (elimina tu funcion para cargar jquery que tienes en functions.php) , aparte tienes una opcion para desactivar la carga de jquery del fancy.
Otro punto es que el plugin usa la version 1.5 de fancybox y con la ultima version de jQuery no funciona tienes que hacer un pequeño hack en el fancybox (su problema es $.browser si mi menoria no me falla ) o usar su ultima version.
El fancy tienes que configurarlo para decirle que imagenes añadira su class para que funcione.

nota:
este codigo esta mal
Código:
wp_register_script( 'jquery', '/wp-content/themes/canvas/canvas/scripts/jquery-1.9.0.min.js');
es
Código:
wp_register_script( 'jquery', get_template_directory_uri() . '/canvas/canvas/scripts/jquery-1.9.0.min.js');
  #3 (permalink)  
Antiguo 12/02/2013, 18:38
 
Fecha de Ingreso: mayo-2012
Mensajes: 25
Antigüedad: 11 años, 11 meses
Puntos: 1
Respuesta: Problema con plugin Fancybox

Muchas gracias!!

He quitado:
Código:
//add_action('init', 'mimetodo');
y
Código:
<?php wp_enqueue_script("jquery"); ?>
(no sé si te referías a quitar solo eso del header, o algo más)

y ya me funciona, pero solo con las imágenes, con las galerías no, no sé porque!
En las opciones del fancybox tengo puesto: Incluir todas las imágenes de la página en una única galería (opción por defecto), si quisiera poner, agrupar manualmente con el atributo rel, como se haría?

Y lo de la linea
Código:
wp_register_script( 'jquery', '/wp-content/themes/canvas/canvas/scripts/jquery-1.9.0.min.js');
lo he probado como tu decías y no funciona, y así si que funciona..

Porque puede ser??
  #4 (permalink)  
Antiguo 12/02/2013, 18:52
Avatar de 23r9i0  
Fecha de Ingreso: noviembre-2008
Ubicación: Catalonia
Mensajes: 203
Antigüedad: 15 años, 5 meses
Puntos: 33
Respuesta: Problema con plugin Fancybox

Lo de agrupar por rel no te lo podria decir (no me acuerdo y no lo uso) mira en la configuracio del fancy.

Sobre que no te funciona el codigo get_template_directory_uri() es culpa mia no elimine canvas que diria es el nombre del theme no que no sabria decirte si tienes que eliminar canvas o canvas/canvas no se como esta formado el theme, pero no lo uses si ya te funciona.
  #5 (permalink)  
Antiguo 12/02/2013, 19:13
Avatar de iconogt  
Fecha de Ingreso: septiembre-2004
Ubicación: Guatemala
Mensajes: 576
Antigüedad: 19 años, 7 meses
Puntos: 4
Respuesta: Problema con plugin Fancybox

Hola a todo el mundo, yo lo hago así y me funciona al 100% =)
functions.php
Código PHP:
<?php
function add_scripts() {
      
wp_deregister_script('jQuery');
      
wp_deregister_script('fancybox');
      
wp_deregister_script('fancyboxpack');
      
wp_deregister_script('fancybuttons');
      
wp_deregister_script('fancymedia');
      
wp_deregister_script('fancythumbs');

      
wp_register_script('jQuery'get_template_directory_uri() . '/js/jquery-1.8.3.js'FALSE'1.8.3');
      
wp_register_script('fancybox'get_template_directory_uri() . '/js/source/jquery.fancybox.js'FALSE'2.1');
      
wp_register_script('fancyboxpack'get_template_directory_uri() . '/js/source/jquery.fancybox.pack.js'FALSE'2.1');
      
wp_register_script('fancybuttons'get_template_directory_uri() . '/js/source/helpers/jquery.fancybox-buttons.js'FALSE'2.1');
      
wp_register_script('fancymedia'get_template_directory_uri() . '/js/source/helpers/jquery.fancybox-media.js'FALSE'2.1');
      
wp_register_script('fancythumbs'get_template_directory_uri() . '/js/source/helpers/jquery.fancybox-thumbs.js'FALSE'2.1');

      
wp_enqueue_script('jQuery');
      
wp_enqueue_script('fancybox');
      
wp_enqueue_script('fancyboxpack');
      
wp_enqueue_script('fancybuttons');
      
wp_enqueue_script('fancymedia');
      
wp_enqueue_script('fancythumbs');
   }

   
add_action('wp_enqueue_scripts''add_scripts');

   function 
micss_theme_styles() {
      if (!
is_admin()) {
         
wp_enqueue_style('fancy'get_template_directory_uri() . '/js/source/jquery.fancybox.css'FALSE'2.0');
         
wp_enqueue_style('fancybuttons'get_template_directory_uri() . '/js/source/helpers/jquery.fancybox-buttons.css'FALSE'2.0');
         
wp_enqueue_style('fancythumbs'get_template_directory_uri() . '/js/source/helpers/jquery.fancybox-thumbs.css'FALSE'2.0');
      }
   }

   
add_action('wp_enqueue_scripts''micss_theme_styles');
?>
Con esto nos llama todo lo necesario en nuestro header.php para poder trabajar.

y para el fancybox:
Código:
<script type="text/javascript">
var $ = jQuery.noConflict();
$(document).ready(function(){
$("a.aqui-el-lanzador").attr("rel","galeria_").fancybox();
});
</script>
La verdad la librería está bastante buena, yo en lo personal la uso mucho y no tengo problemas con estandarización para IE7

Espero les haya podido ayudar y cualquier cosa ya saben, comenten y vemos como lo solucionamos.
__________________
_______
Jorge Rojas.
  #6 (permalink)  
Antiguo 13/02/2013, 06:30
 
Fecha de Ingreso: mayo-2012
Mensajes: 25
Antigüedad: 11 años, 11 meses
Puntos: 1
Respuesta: Problema con plugin Fancybox

Muchas gracias a los dos por respuestas.

Al final, quitando el código de functions.php me funciona, por lo que la llamada a jquery ya se estaba haciendo, como decía 23r9i0.

Ahora mismo solo tengo esto en la cabecera:
Código:
<!-- NivoSlider -->
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_url');?>/scripts/nivo-slider.css" media="screen" />
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_url');?>/scripts/themes/default/default.css" media="screen" />
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/scripts/jquery.nivo.slider.pack.js"></script>

<script type="text/javascript">
 	jQuery(document).ready(function($) {	
	$('#nivoslider').nivoSlider({pauseTime: 4000,pauseOnHover: true});
	});
</script>
Y me funciona el NivoSlider y el FancyBox, pero éste solo con las imágenes, con las galerías no hace nada, pasa a una página donde está la versión pequeña de la imagen.

iconogt, lo que dices sería haciéndolo todo con código? es que necesito que se puedan insertar las galerías sin programación porque lo hará el cliente, y he visto muchas soluciones haciéndolo todo a mano, sin el plugin, pero no me sirve.
Lo digo porque no entiendo muy bien la parte donde pones:
Código:
<script type="text/javascript">
var $ = jQuery.noConflict();
$(document).ready(function(){
$("a.aqui-el-lanzador").attr("rel","galeria_").fancybox();
});
</script>
Muchas gracias!
  #7 (permalink)  
Antiguo 17/02/2013, 11:23
 
Fecha de Ingreso: mayo-2012
Mensajes: 25
Antigüedad: 11 años, 11 meses
Puntos: 1
Respuesta: Problema con plugin Fancybox

SOLUCIONADO
Por si a alguien le interesa, en vez de cargar la galería de la forma normal, lo que he hecho ha sido cargar las imágenes una por una, y en la pestaña texto del editor de entradas les he añadido a todas las imágenes la etiqueta tag="grupo1", para cada galería un tag distinto y ya funciona.
El código de Nivo lo he dejado como estaba en mi último mensaje.

Etiquetas: blog, fancybox, php, plugin
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:54.