Ich habe ein Widget für WordPress entwickelt, um das Portfolio anzuzeigen, der Benutzer kann wählen, ob er Paginierung, Filterkategorien, die Anzahl der Posts pro Seite usw. möchte, es funktioniert alles perfekt mit einem von mir erstellten PHP-Paginierungssystem.
Ich versuche, eine Ajax-Jquery für diese Paginierung im Widget zu implementieren, damit sie neu geladen wird, ohne die gesamte Seite neu zu laden. Ich habe diesen Code:
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');
Die Paginierung funktioniert perfekt in PHP, wenn ich diesen Code implementiere, funktioniert die Paginierung, aber wenn auf das Widget geklickt wird, verlieren alle Benutzereinstellungen (Filter anzeigen, Paginierung anzeigen usw.), die Divs verlieren auch ihre berechnete prozentuale Breite und Höhe, die zuerst vorhanden war in css (gesehen in Feuerwanze):
element.style{width and height}
Ich habe mich mehrere Tage damit beschäftigt und habe stattdessen bewiesen leben, weiter und delegierenund so weiter, aber keiner von ihnen funktioniert, diese Ajax-Paginierung funktioniert auch perfekt in der Post-Paginierung auf meiner Seite, aber das Widget lädt Dom-Elemente nicht neu?
Das Wichtigste für mich sind:
-Jedem der Elemente fehlt Breite und Höhe, das war in DOM CSS, zuerst wird diese Breite mit einem functions.php Enqued-Skript berechnet, das zum Beispiel so geht, wenn es 4 Spalten hat:
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);
}
Ich nenne die mysizes(); Funktion aus dem Widget PHP mit einem Tag
-Der Filter der fehlenden Kategorien, denke ich, weil er beim Laden der Paginierung die Benutzervoreinstellungen für das Widget nicht erkennt. Er erkennt es perfekt auf der ersten Seite, aber nicht auf den nachfolgenden Seiten.
Link zur Seite mit Portfolio-Widget-Paginierung, die nicht richtig funktioniert (bitte auf 2 Seite klicken, um sie anzuzeigen):
http://framecero.com/aagantrywordpress/?page_id=635
Link zu einer Beispielkategorie mit derselben Paginierung (Paginierung unten auf der Seite):
Sie haben ein in die Warteschlange eingereihtes functions.php-Skript erwähnt. Ist es möglich, dass dies nicht geladen wird, wenn es von Ajax aufgerufen wird?
– Roryok
18. Juni 2012 um 8:31 Uhr
Ein kurzer Blick zeigt, dass Sie zumindest die HTML-Struktur ändern. Auf der paginierten Seite haben Sie .portfolio_class zweimal verschachtelt, während das Original nur einmal ist.
– Jure C.
20. Juni 2012 um 10:32 Uhr
Ja! Jure C. Das war das Problem und ich musste die Funktion verwenden: ajaxComplete(); alles neu laden. Vielen Dank
– José Lo
21. Juni 2012 um 12:49 Uhr
@JureC. Ziehen Sie in Betracht, die Lösung in eine Antwort zu verschieben.
– Brasilo
6. September 2013 um 17:37 Uhr
nicht gefunden: framecero.com/aagantrywordpress/?cat=4
– Sam
10. Oktober 2013 um 17:04 Uhr