José Lo
Desarrollé un widget para que WordPress muestre el portafolio, el usuario puede elegir si quiere paginación, filtrar categorías, el número de publicaciones por página… y así sucesivamente, todo funciona perfectamente con un sistema de paginación php que he creado.
Estoy tratando de implementar un jquery ajax en esta paginación en el widget para que se vuelva a cargar sin recargar toda la página. tengo este codigo:
jQuery('.paginate a').live('click', function(e){
e.preventDefault();
var link = jQuery(this).attr('href');
jQuery('.widget_gantry_portfolio').html('<div class="loading"></div>');
jQuery('.widget_gantry_portfolio').load(link+' .widget_gantry_portfolio .portfolio_class');
La paginación funciona perfectamente en php, cuando implemento este código, la paginación funciona, pero cuando se hace clic en el widget, se pierden todas las preferencias del usuario (mostrar filtro, mostrar paginación, etc.), los divs también pierden el % calculado de ancho y alto que estaba presente en un principio. en css (visto en chinche de fuego):
element.style{width and height}
He estado varios días alrededor de esto y he probado en lugar de vivir, encender y delegary así sucesivamente, pero ninguno de ellos funciona, esta paginación ajax también funciona perfectamente en la paginación de publicaciones en mi sitio, pero el widget no recarga los elementos Dom.
Lo más importante para mí son:
-A cada uno de los elementos les falta ancho y alto, eso estaba en DOM css, en primer lugar, este ancho se calcula con un script enqued functions.php que es así, por ejemplo, cuando tiene 4 columnas:
var mysizes = function() {
theWidth4 = jQuery(".mosaic-block4c img").css('width');
jQuery(".mosaic-block4c").css('width', theWidth4);
theHeight4 = jQuery(".mosaic-block4c img").css('height');
jQuery(".mosaic-block4c").css('height', theHeight4);
}
Llamo a mysizes(); función del widget php con una etiqueta
-Creo que falta el filtro de categorías porque, cuando se carga la paginación, no reconoce los ajustes preestablecidos del usuario para el widget. Lo reconoce perfectamente en la primera página pero no en las páginas posteriores.
El enlace al sitio con la paginación del widget de cartera no funciona correctamente (haga clic en la página 2 para ver):
http://framecero.com/aagantrywordpress/?page_id=635
Enlace a una categoría de muestra con esta misma paginación funcionando (paginación en la parte inferior de la página):
Del comentario de Jure C.:
Una mirada rápida muestra que al menos está cambiando la estructura HTML. En la página paginada tienes
.portfolio_class
dos veces anidado mientras que el original es solo una vez.
mencionó un script en cola functions.php, ¿es posible que esto no se cargue cuando se llama desde ajax?
– Roryok
18 de junio de 2012 a las 8:31
una mirada rápida muestra que al menos está cambiando la estructura HTML. En la página paginada, tiene .portfolio_class anidado dos veces, mientras que el original es solo una vez.
– Jure C.
20 de junio de 2012 a las 10:32
¡Sí! Jure C. Ese era el problema y tuve que usar la función: ajaxComplete(); para recargar todo de nuevo. Gracias
– José Lo
21 de junio de 2012 a las 12:49
@JureC. considere mover la solución a una Respuesta.
– brasofilo
06/09/2013 a las 17:37
extraviado: framecero.com/aagantrywordpress/?cat=4
– sam
10/10/2013 a las 17:04