it-swarm.com.de

Die Paginierung funktioniert nicht bei single- {slug} .php, funktioniert aber bei page- {slug} .php

Ich möchte, dass meine single- {slug} .php eine Abfrage für eine Liste von Beiträgen aus verschiedenen benutzerdefinierten Beitragstypen durchführt und die Paginierung verwendet. Die Paginierung wird angezeigt, aber ein Klick auf die Paginierung führt nicht zu dieser Seite und verbleibt immer auf Seite 1. Derzeit wird WP-navi verwendet, übrigens.

Beispiel: Lade die Liste der Posts von single-sports.php auf single-movies.php

Jeder Rat oder jede Hilfe wäre willkommen.

Hier ist meine single- {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
    ?>

Hier ist meine 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

Sie haben vergessen, eine neue Abfrage zu starten.

Und wenn Sie in Ihrer benutzerdefinierten Abfrage kein Posting verwenden, wird die aktuelle Hauptabfrage angezeigt. In Ihrem Fall handelt es sich um Ihre einzelne Abfrage.

$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;

ich weiß nicht, was ist wp_pagenavi ()

benutze 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 )  );

Und beenden Sie mit einem Reset

wp_reset_postdata();
3
Jérome Obbiet