2017-06-07 3 views
0

Ich habe Probleme mit dem Zurücksetzen eines Zählers, wenn er eine bestimmte Zahl erreicht. Ich verstehe, wie man das mit einer while-Schleife macht, aber ich kann den Zähler scheinbar nicht richtig zurücksetzen und die "Schleife" nach einer bestimmten Anzahl von AJAX-Anfragen selbst zurücksetzen lassen.Inkrementieren, wenn Zähler bestimmte # nach AJAX-Antwort in Wordpress erreicht

Der volle Umfang meines Ziels ist es, eine Kategorie von Beiträgen in WordPress über AJAX abzufragen. Jedes Mal, wenn ein Zähler erhöht wird, wird dieser als Wert für 'Offset' in WP_Query (array()) verwendet. Dieser Teil habe ich gut funktioniert. Das Problem, das ich habe, besteht darin, die Offset-Variable zurück auf 1 zu setzen und von vorne zu beginnen, um eine Schleife der Posts zu erzeugen. Ich poste nicht den Teil, der in functions.php geht, weil ich nicht glaube, dass ich dort irgendwelche Probleme habe, aber wenn du denkst, dass es helfen wird, frag einfach und ich werde es gerne hinzufügen. Siehe Code unten.

jQuery('#more_posts').click(nextTestimonial); 
var page = 1; // What page we are on. 
var ppp = 1; // Post per page 
function nextTestimonial(){ 

    jQuery("#more_posts").attr("disabled",true); // Disable the 

    jQuery.post(
     'http://localhost/kw/wp-admin/admin-ajax.php', 
     { 
     'action': 'next_testimonial', 
     'page': page, 
     'ppp': ppp 
     }, 
     function(response){ 
      //page++; This works to increment fine if enabled 
      if (page==3){ page = 1; } else {page++;} // <-- Trouble Here 
      jQuery("#testimonial_box").html(response); 
      jQuery("#more_posts").attr("disabled",false); 
      jQuery('#more_posts').click(nextTestimonial); 

     } 
     ); 
} 
+0

Warum haben Sie die Variable 'page' in der Click-Funktion? Dann werden Sie jedes Mal, wenn Sie darauf klicken, erneut auf Seite 1 beginnen. Ist das das gewünschte Verhalten? – Anokrize

+0

Es ist nicht innerhalb der Klick-Funktion, sie sind über der Klick-Funktion. Es mag erscheinen, dass sie sich im Inneren befinden, aber die Funktion befindet sich direkt unter ihnen. Die Funktion wird über die obige jQuery-Anweisung aufgerufen. – Fushniki

Antwort

0
var page = 1; // What page we are on. 
var ppp = 1; // Post per page 

Die Zählervariablen außerhalb Ihrer Klick-Funktion, oder es wird nicht aktualisiert werden. Oder Sie müssen eine Art Schleife in der Funktion haben.

+0

Die Zählervariablen sind außerhalb, wie ich oben in Reaktion auf Anokrize kommentiert habe. Außerdem habe ich sie über die jQuery-Anweisung gestellt und es macht keinen Unterschied. Ich kann den Zähler erhöhen, wenn ich die einfache Seite ++ verwende, aber ich habe Probleme, ihn zurückzusetzen. – Fushniki

Verwandte Themen