web-dev-qa-db-ja.com

ページネーションはsingle- {slug} .phpでは動作しませんがpage- {slug} .phpでは問題なく動作します。

私のsingle- {slug} .phpに、異なるカスタム投稿タイプの投稿リストに対してクエリを実行させ、ページ区切りを使用したいと思います。改ページは表示されますが、残念ながら、改ページをクリックしてもそのページには移動せず、常に1ページに留まります。現在WP-naviを使用しています。

例:single-sports.phpからsingle-movies.phpに投稿のリストをロードする

どんなアドバイスや助けもいただければ幸いです。

これが私のシングル - {slug} .phpです。

<?php
         $args = array(
                       'post_type' => 'crew',
                       'paged' => ( get_query_var('paged') ? get_query_var('paged') : 1),
                       );


    while (have_posts()) : the_post();
     /* Do whatever you want to do for every page... */
    ?>
        <div class="project_item">
            <div class="dotted">
              <hr />
            </div>
            <div class="project_thumb"><a href="<?php echo get_permalink(); ?>"><img src=""  /></a></div>
            <div class="project_entry"><h4><a href="<?php echo get_permalink(); ?>"></a></h4>

              <a href="<?php echo get_permalink(); ?>" class="readmore">Read more..</a> </div>
          </div>

          <?php

    endwhile;
    ?>
    <nav>
    <?php wp_pagenavi(array('query'=>$post_query)); ?>
    </nav>

    <?php
    wp_reset_query();  // Restore global post data
    ?>

これが私のfunctions.phpです:

$labels = array(
'name' => _x('Crew', 'post type general name'),
'singular_name' => _x('A crew', 'post type singular name'),
'add_new' => _x('Add A New Crew', 'crew'),
'add_new_item' => __('Add A New Creww'),
'edit_item' => __('Edit Crew'),
'new_item' => __('New Crew'),
'view_item' => __('View Crew'),
'search_items' => __('Search Cre'),
'not_found' => __('Crew Not Found'),
'not_found_in_trash' => __('Not found in trash'),
'parent_item_colon' => ''
);

$args = array(
'labels' => $labels,
'menu_position' => 6,
'public' => true,
'supports' => array('title', 'editor', 'thumbnail'),
'capability_type' => 'post',
'hierarchical' => true,
'has_archive' => true,
);

register_post_type('crew',$args);

$args = array(
'label' => 'Author Catefory',
'public' => true,
'show_ui' => true,
'hierarchical' => true
);
register_taxonomy('crew_tax','crew',$args);
2
PM8329

新しいクエリを開始するのを忘れました。

そしてあなたがあなたのカスタムクエリに投稿を持っていないなら、あなたはあなたのケースではあなたのシングルです、あなたはメインの現在のクエリを取得します。

$args = array(
       'post_type' => 'crew',
       'posts_per_page' => 10
       );

$your_custom_query = new WP_Query( $args ); // is that you forgot

// The Loop
if ( $your_custom_query->have_posts() ) :
while ( $your_custom_query->have_posts() ) : $your_custom_query->the_post();
  // Do Stuff
endwhile;
endif;

wp_pagenavi()が何であるかわかりません

paginate_links()を使用してください。

$big = 999999999; // need an unlikely integer
$pagination_args = array(
            'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
            'format' => '?paged=%#%',
            'current' => max( 1, get_query_var('paged') ),
            'total' => $your_custom_query->max_num_pages,
            'type' => 'plain',
            'prev_text' => 'Prev',
            'next_text' => 'Next'
        );

echo(  paginate_links( $pagination_args )  );

そしてリセットで終了

wp_reset_postdata();
3
Jérome Obbiet