Я хочу добавить числовую разбивку на страницы со своими дочерними страницами. Это разбиение на страницы, которое я хотел бы создать (из бутстрапа):
<nav> <ul class="pagination"> <li> <a href="#" aria-label="Previous"> <span aria-hidden="true">«</span> </a> </li> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> <li> <a href="#" aria-label="Next"> <span aria-hidden="true">»</span> </a> </li> </ul> </nav>
И это мой код:
<!-- block --> <div class="row grid events-block"> <?php $parent = $post->ID; // query_posts('posts_per_page=15&post_type=page&post_parent='.$parent); query_posts(array('posts_per_page'=>'1', 'post_type' => 'page', 'post_parent' => $parent, 'paged' => get_query_var('paged'))); while (have_posts()) : the_post(); ?> <!-- item --> <div class="grid-item col-md-6 col-sm-6 col-xs-12 event-item"> <div class="date-box"> <?php echo $event_dates; ?> </div> <div class="event-item-text-box"> <div class="event-item-text-inner-box"> <h3 class="heading-item"><a href="#" target="_blank"><?php the_title(); ?></a></h3> <p><?php the_excerpt(); ?></p> </div> </div> </div> <!-- item --> <?php endwhile; ?> <?php // Reset the post to the original after loop. otherwise the current page becomes the last item from the while loop. // https://codex.wordpress.org/Function_Reference/wp_reset_query wp_reset_query(); ?> </div> <!-- block --> <?php $args = array( 'base' => '%_%', 'format' => '?paged=%#%', 'total' => 1, 'current' => 0, 'show_all' => false, 'end_size' => 1, 'mid_size' => 2, 'prev_next' => true, 'prev_text' => __('« Previous'), 'next_text' => __('Next »'), 'type' => 'plain', 'add_args' => false, 'add_fragment' => '', 'before_page_number' => '', 'after_page_number' => '' ); ?> <?php echo paginate_links( $args ); ?>
Но я не могу заставить его работать. Любые идеи, что я пропустил?
Pagination Like: Предыдущая 1 2 3 Следующая
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $data= new WP_Query(array( 'post_type'=>'YOUR_POST_TYPE', // your post type name 'posts_per_page' => 3, // post per page 'paged' => $paged, )); if($data->have_posts()) : while($data->have_posts()) : $data->the_post(); // Your code endwhile; $total_pages = $data->max_num_pages; if ($total_pages > 1){ $current_page = max(1, get_query_var('paged')); echo paginate_links(array( 'base' => get_pagenum_link(1) . '%_%', 'format' => '/page/%#%', 'current' => $current_page, 'total' => $total_pages, 'prev_text' => __('« prev'), 'next_text' => __('next »'), )); } ?> <?php else :?> <h3><?php _e('404 Error: Not Found', ''); ?></h3> <?php endif; ?> <?php wp_reset_postdata();?>
Не могли бы вы попробуете код выше? Я думаю, что это полезно для вас.