2017-06-07 9 views
0

特定の数値に達するとカウンタをリセットするのに問題があります。私はwhileループでこれを行う方法を理解していますが、カウンターを適切にリセットして、AJAX要求の一定数の後に "ループ"をリセットするようには思えません。WordpressでAJAX応答後にカウンタが特定の#に達するとインクリメントがリセットされます

私の目標の全範囲は、AJAXを介してWordPressの投稿のカテゴリをクエリすることです。 WP_Query(array())の 'offset'の値として使用されるカウンタが増えるたびに、この部分はうまく働いています。私が抱えている問題は、オフセット変数が1に戻ってリセットしてから開始することです。投稿のループを作成するためです。私はfunction.phpに入っている部分を投稿していません。なぜなら、そこに何か問題があるとは思わないからです。しかし、それが助けになると思うならば、尋ねてください。私はそれを喜んで追加します。以下のコードを参照してください。

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

なぜクリック機能内に「ページ」変数がありますか?それからあなたはそれをクリックするたびに1ページ目から始めます。これは望ましい動作ですか? – Anokrize

+0

クリック機能の内側ではなく、クリック機能の上にあります。彼らは内部にいるように見えるかもしれませんが、機能はその下にあります。この関数は上記のjQueryステートメントを介して呼び出されます。 – Fushniki

答えて

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

カウンタ変数は、あなたのクリック機能外に持っているか、それが更新されません。または、関数内で何らかのループが発生している必要があります。

+0

カウンタ変数はAnokrizeに応答して上記のようにコメントアウトしています。さらに、jQueryステートメントの上に移動しても差はありません。単純なページ++を使用するとカウンタを増やすことができますが、リセットするのに問題があります。 – Fushniki

関連する問題