2017-11-27 18 views
0

私は、カスタムクエリのthe_posts_paginationまたは任意の代替出力数値ポストナビゲーションを作成する方法を理解しようとしています。Wordpressのポストのクエリが動作しない

が、それは動作していないよう、私は何も悪いことをしていた場合、私は知りませんが、事前に提案やソリューション感謝を申し上げ

マイコード

<?php global $query_string; // required 
$posts = query_posts($query_string.'&posts_per_page=3&order=ASC'); ?> 

    <div class="main-post-loop"> 
     <div class="big-thum-section img-is-responsive"> 
      <?php if (has_post_thumbnail()) : ?> 
      <?php the_post_thumbnail('small-block-thumb'); ?> 
       <?php endif; ?> 
     </div> 

     <div class="squiggle-post-meta-section clearfix"> 
      <h2><a href="<?php echo get_permalink(); ?>"> <?php the_title(); ?> </a></h2> 
      <div class="excerpt-post"><?php the_excerpt(); ?></div> 
     </div> 
     <div class="continue-reading-section"> 
     <a href="<?php echo get_permalink(); ?>" class="cont-reading"> Continue reading <i class="fa fa-chevron-right"></i></a> 
     </div> 
     <div class="squiggly-line"></div> 
    </div> 
    <?php 
     the_posts_pagination(array(
      'mid_size' => 2, 
      'prev_text' => esc_html('&larr;'), 
      'next_text' => esc_html('&rarr;'), 
      )); 
?> 
<?php wp_reset_query(); // reset the query ?> 

答えて

1

ことを行うためにいくつかの手順があります。まず、wp-pagenaviプラグインを使用することをお勧めします。これは多くのことを処理します。

任意の方法、私は、プラグインなしで両方の方法を、説明し、 は最初、私たちは私たちのクエリを記述してpaged属性を設定pagedクエリVARによると、ユーザーが移動したときに例のページ3のために、クエリがポストをフィルタリングします3ページ目の投稿を示しています

$paged = (int) (get_query_var('paged') ?: (get_query_var('page')?: 1)); 
$my_query = new WP_Query(array(
    'posts_per_page' => 10, 
    'paged'   => $paged // This is important for pagination links to work 
)); 

は今、あなたはwp-pagenaviプラグインを使用することを決定した場合、それはカスタムクエリでpaginationsを作ることは非常に簡単です、あなたがする必要があるのは次のとおりです。

<?php if(function_exists('wp_pagenavi')) wp_pagenavi(array('query' => $my_query)); ?> 

しかし、あなたはthe_posts_pagination()機能を使用したい場合、私はそれがカスタムクエリをサポートしているかどうかわからないんだけど、それはpaginate_links()機能を使用しますので、それがない場合は、この引数

$args = array(
    'current' => max(1, $paged), // $paged is what we defined earlier or you can use just get_query_var('paged') 
    'total' => $my_query->max_num_pages 
) 

で動作するはずです、上記の同じ引数を使用してpaginate_links()関数自体を使用することができます。

も参照してください:あなたのfunctions.phpでthis answer

+0

おかげで、ページネーションのdidntのCMEがしますすべての提案を試してみましたが、役に立たなかった –

+0

@NeonEmmanuelクエリの投稿数、 '$ paged'変数、' $ my_quer y-> max_num_pages'、...何かが間違っているかどうかを調べるには、変数var_dumpを使ってテストしてください。 – Amin

1
<?php 
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
    query_posts(array('post_type' => 'post', 'order' => 'ASC', 'paged' => $paged, 'posts_per_page' => 12)); 
     if(have_posts()) : ?> 
      <?php while (have_posts()) : the_post(); ?> 
       <?php the_title();?> 
       <?php the_excerpt(); ?> 
      <?php endwhile; ?> 
      <div class="pagination"><?php my_pagination(); ?></div> 
     <?php endif; ?> 
<?php wp_reset_query(); ?> 

if (! function_exists('my_pagination')) : 
    function my_pagination() { 
     global $wp_query; 

     $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('paged')), 
      'total' => $wp_query->max_num_pages 
     )); 
    } 
endif; 

OR これを試してみてください追加します。お時間を@amin http://www.wpbeginner.com/wp-themes/how-to-add-numeric-pagination-in-your-wordpress-theme/

+0

ありがとう、 –

関連する問題