0

wordpressでページをリロードせずにページネーションを行うにはどうすればよいですか。ページネーションに次のコードを使用していますが、ここではページネーションごとにページが再ロードされます。realod ページを停止するにはどうすればよいですか???提案してください。

<?php
                       $page = (get_query_var('page')) ? get_query_var('page') : 1     

                       $limit=10;
                       $offset = ( $page - 1 ) * $limit;    
                      $data = $wpdb->get_results("select * from wp_products order by product_id  $sort_by
                                          LIMIT $offset,$limit ");
                 $total=$wpdb->get_results("select * from wp_products ");
            $pages = COUNT($total);
            $pages = ceil($pages / $limit);
            $querystring = "";
            foreach ($_GET as $key => $value) {
                if ($key != "page") $querystring .= "$key=$value&amp;";
            }

            // Pagination
            ?>


     <div class="pagination">
               <?php
              if( $pages > 1)
              {
                $range=1;
                $showitems = ($range * 2)+1;  
                $page1=$page;
                $prev=$page1-1;
                if($page > 1)
                {
                    echo "<a  class=\"page gradient\" ";
                    echo "href=\"?{$querystring}page=$prev";
                    echo "\">Previous</a> ";
                }
                for ($i = 1; $i <= $pages; $i++)
                   {
                        if (1 != $pages &&( !($i >= $page+$range+1 || $i <= $page-$range-1) || $pages <= $showitems ))
                             {
                                if($i == $page) 
                                { 
                                    echo  "<span class=\" page active\">".$i."</span>";
                                }
                                else
                                { 

                                echo "<a class=\"page gradient\"";
                                echo "href=\"?{$querystring}page=$i";
                                echo "\">$i</a> ";
                                }

                             }
                        }
                        if($page!=$pages)
                        {
                        if($showitems < $pages)
                            {
                                echo "..... ";
                            }
                            $page1=$page;
                            $next=$page1+1;
                            echo "<a " . ($i == $page ? "class=\"page active\" " : "class=\"page gradient\"");
                            echo "href=\"?{$querystring}page=$next";
                            echo "\">Next</a> ";
                        }
              }
                ?>                                         
                </div>
4

2 に答える 2

0

次のようにしてみてはいかがでしょうか。

$('.page').click(function(e) {
    e.preventDefault();
    $.ajax({url: $(this).prop('href'), success: function(d) {
        var page = $(d).find('.pagination').html();
        $('.pagination').html(page);
    }});
});

これは、jQuery を使用して次のリンクの通常のクリック イベントを無効にし、次のリンクの href を取得し、次のページへの AJAX 要求を行い、次のページのページネーション div の HTML を保存し、現在のページのページネーション div を新しいもの。

于 2012-12-13T04:14:32.917 に答える
0

すべてのページを一度に取得してから、同じページで jquery datatable js を使用してページネーションを行う場合、ページはリロードされません。ここにデータテーブルの例。

http://datatables.net/examples/basic_init/alt_pagination.html

于 2012-12-24T04:50:06.367 に答える