2014-12-09 4 views
0

나는 무한한 책 (wordpress posts)의 스크롤을 만들고있다.무한 스크롤로 반복되는 게시물

enter image description here

을하지만 당신은 아래로 스크롤하면, "더로드 책"후,이 책이 다시 나타납니다 : 당신은 책의 첫 번째 행이 하나가 표시되는 경우.

그래서 처음부터 책 (워드 프레스 포스트)을로드하고 연속적으로 포스트를로드하지 않습니다.

books home [여기] [3]에서 잘 볼 수 있습니다.

문제는 입니다 (single.php) 어떤 책에 입력 한 후

문제이고, 내가 그것을 어떻게 해결할 수있는 어떤 생각?

<div id="infinite-scroll"> 
<div id="infite-activities"> 
<div class="row"> 
      <?php 
      $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
      $args=array("post_type"=>"books","posts_per_page"=>"12"); 
      /* $args["paged"]=(get_query_var('paged')) ? absint(get_query_var('paged')) : 1; */ 
      $args["paged"]=$paged; 
      if(is_single()) 
       $args["orderby"]="date"; 
      $books=new WP_Query($args); 
      while($books->have_posts()):$books->the_post();?> 
      <div class="col-lg-3 col-md-3 col-xs-12 col-sm-3"> 
       <div class="book-grid-img"> 
        <?php $default_attr = array('class' => "img-responsive");?> 
       <a href="<?php the_permalink();?>" title="<?php the_title();?>"> <?php the_post_thumbnail("books-grid",$default_attr);?></a> 
       </div> 
       <div class="box-desc-book"> 
        <div class="book-title"> 
        <?php the_title();?> 
        <span><?php the_field("autor");?></span> 
        </div> 
       </div> 
       <div class="book-download"> 
        <a href="<?php the_permalink();?>">MORE INFO</a> 
       </div> 
      </div> 
      <?php endwhile;?> 

      <div class="pagination"> 
      <?php 
       $big = 999999999; // need an unlikely integer 

       echo paginate_links(array(
        'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))), 
        'format' => '?paged=%#%', 
        'current' => max(1, get_query_var('page')), 
        'prev_text' => __('« Previous'), 
        'next_text' => __('Next »'), 
        'total' => $books->max_num_pages 
       )); 
       ?> 
     </div> 

     </div> 


<script> 
jQuery('#infinite-scroll').infinitescroll({ 
    loading: { 
    finishedMsg: "<em>No more books.</em>", 
    msgText: "<em>Loading more books</em>" 
    }, 
    navSelector  : "a.next", 
    nextSelector : "a.next", 
    itemSelector : "#infite-activities", 
    debug   : true, 
    dataType  : 'html', 
    maxPage   : 5, 
    path: function(index) { 
     return "page/" + index + "/?test=1"; 
    } 
}, function(newElements, data, url){ 

}); 
</script> 
+1

현재 어떤 작업이 작동하지 않는지도 모릅니다. 그 점을 분명히하십시오. – Daniel

+1

@Daniel 아래로 스크롤하면 게시물이 반복됩니다. – codek

+0

SO-Badges는 이미 SE 학습자가있는 것처럼 보입니다. 따라서 FAQ에서 다시 한 번 살펴보고 실제 결과와 대비하여 원하는 결과를 명료하게 표현하십시오. – Daniel

답변

0

나는 그것이 모두 당신의 페이지 매김의 빗 (안 하나 당신이 인쇄하는) 당신이 호출하는 자바 스크립트 무한 스크롤 믿습니다. 그러나

http://www.example.com/resources/books/page/3/?test=1 

당신이 내부 페이지에이 같은에 요청 변경 일단 :

http://www.example.com/books/many-molts-muchos/page/2/?test=1 

SO 당신이 할 수있는 당신이 수행하는 아약스 요청과 같이 요청 때문에 홈페이지에서 작동 자원/서적/구역이 아니라 서적/많은 molt-muchos /에 대한 요청이 귀하의 페이지 매김을 혼란스럽게 할 수도 있습니다. 업데이트 시도 경로 리턴 기능 ..

에서 :

: 더 같을 것이다, 그래서 당신은 아마 또한 "? 테스트"를 생략 할 수

return "<?php echo get_site_url(); ?>/resources/books/page/" + index + "/?test=1"; 

:

return "page/" + index + "/?test=1"; 

TO

return "<?php echo get_site_url(); ?>resources/books/page/" + index; 
+0

완벽하게 작동합니다! 감사합니다! britter는 대답에서 링크를 제거 할 수 있습니까? 임대시에 그대로두고 싶다면 비트로 변경하십시오. 감사합니다. – codek

+0

욱 나는 그것을 예제로 변경했습니다. co.kr 사이트에서 전체 URL을 볼 수 있습니다. 답변에있는 URL에있는 것처럼. – britter

+0

감사합니다. 가능한 한 빨리 현상금을 수락합니다. 이제 22 시간 기다려야한다고 말합니다. 수상. 도와 줘서 고마워. :) – codek

0

당신은 wp_query에 인수를 상쇄해야합니다

내가 사용하고 코드입니다. 이것은 쿼리가 평소보다 나중에 보일 것이라고 알려줍니다. 페이징 $의 변수가 될 오프셋 (offset) * $ per_page

$args=array(
     "post_type"=>"books", 
     "posts_per_page"=>"12", 
     "offset" => "24" // or whatever (page * per_page) is equal to 
); 
+0

나는 그것을 넣었지만 여전히 반복합니다. 차이점은 이제 다른 책들로 시작한다는 것입니다./ – codek

+0

아, 그 때 무시하십시오.그것은 선택기의 링크 (이 경우 a.next)에서 빠져 나가는 것처럼 보입니다. a.next http://www.infonomia.com/books/30-ideas-for-2030/page/2/의 URL을 방문하면 현재 페이지로 리디렉션됩니다. 페이지 매기기를 얻는 코드 – elev

관련 문제