Помогите сделать пагинацию.
Пожалуйста помогите сделать пагинацию, сильно не пинайте я только учусь)
<?php /* Template Name: Страница обновлённых записей */ ?> <?php get_header(); ?> <main id="main" class="site-main clearfix" role="main" <?php hybrid_attr( 'content' ); ?>> <div id="primary" class="content-area"> <div id="content"> <?php get_template_part( 'breadcrumbs' ); ?> <?php while ( have_posts() ) : the_post(); ?> <?php get_template_part( 'content', 'page' ); ?> <?php // задаем нужные нам критерии выборки данных из БД $args = array( 'post_type' => 'post', 'orderby' => 'modifed' ); $query = new WP_Query( $args ); // Цикл if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); echo '<h2 class="widget-post-title"><a class="text-trim" href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . esc_attr( get_the_title() ) . '</a></h2>'; } _tk_pagination(); } else { // Постов не найдено } /* Возвращаем оригинальные данные поста. Сбрасываем $post. */ wp_reset_postdata(); ?> <?php endwhile; // end of the loop. ?> </div><!-- #content --> </div><!-- #primary --> <?php get_sidebar(); ?> </main><!-- #main --> <?php get_footer(); ?>
На главной странице в (index.php) пагинация выводится с помощью:
<?php // _tk_content_nav( 'nav-below' ); ?> <?php _tk_pagination(); ?>
Функция _tk_pagination() — не является встроенной функцией wp или функцией популярного плагина. Поэтому вам сложно помочь, так как я не представляю что там написано в этой вашей функции. Для пагинации можете воспользоваться плагином wp pagenavi или прислать код вашей функции, что бы можно было понять как она работает.
Эту функцию пагенации я брал с темы которая на бутстрапе сделанная, вот код функции:
<?php // _tk Bootstrap pagination function // original: http://fellowtuts.com/wordpress/bootstrap-3-pagination-in-wordpress/ /** * * @global int $paged * @global type $wp_query * @param int $pages * @param type $range */ function _tk_pagination() { global $paged, $wp_query; if (empty($paged)) { $paged = 1; } $pages = $wp_query->max_num_pages; if (!$pages) { $pages = 1; } if (1 != $pages): $input_width = strlen((string)$pages) + 3; ?> <div class="text-center"> <nav> <ul class="pagination"> <li class="disabled hidden-xs"> <span> <span aria-hidden="true"><?php _e('Страница', 'tk'); ?> <?php echo $paged; ?> <?php _e('из', 'tk'); ?> <?php echo $pages; ?></span> </span> </li> <?php if ($paged == 1): ?> <li class="disabled first"><span><i class="icon-angle-double-left"></i></i><span class="hidden-xs aria-hidden"><?php _e('Первая', 'tk'); ?></span></span></li> <?php else: ?> <li class="enabled first"><a href="<?php echo get_pagenum_link(1); ?>" aria-label="First"><i class="icon-angle-double-left"></i><span class="hidden-xs"><?php _e('Первая', 'tk'); ?></span></a></li> <?php endif; ?> <?php if ($paged == 1): ?> <li class="disabled"><span><i class="icon-angle-left"></i><span class="hidden-xs aria-hidden"><?php _e('Назад', 'tk'); ?></span></span></li> <?php else: ?> <li><a href="<?php echo get_pagenum_link($paged-1); ?>" aria-label="Previous"><i class="icon-angle-left"></i><span class="hidden-xs"><?php _e('Назад', 'tk'); ?></span></a></li> <?php endif; ?> <?php $start_page = min(max($paged - 2, 1), max($pages - 4, 1)); ?> <?php $end_page = min(max($paged + 2, 5), $pages); ?> <?php for ($i = $start_page; $i <= $end_page; $i++): ?> <?php if ($paged == $i): ?> <li class="active"><span><?php echo $i; ?><span class="sr-only">(current)</span></span></li> <?php else: ?> <li><a href="<?php echo get_pagenum_link($i); ?>"><?php echo $i; ?></a></li> <?php endif; ?> <?php endfor; ?> <?php if ($paged == $pages): ?> <li class="disabled"><span><span class="hidden-xs aria-hidden"><?php _e('Вперёд', 'tk'); ?></span><i class="icon-angle-right"></i></span></li> <?php else: ?> <li><a href="<?php echo get_pagenum_link($paged+1); ?>"aria-label="Next"><span class="hidden-xs"><?php _e('Вперёд', 'tk'); ?></span><i class="icon-angle-right"></i></a></li> <?php endif; ?> <?php if ($paged == $pages): ?> <li class="disabled last"><span><span class="hidden-xs aria-hidden"><?php _e('Последняя', 'tk'); ?></span><i class="icon-angle-double-right"></i></span></li> <?php else: ?> <li class="enabled last"><a href="<?php echo get_pagenum_link($pages); ?>" aria-label='Last'><span class='hidden-xs'><?php _e('Последняя', 'tk'); ?></span><i class="icon-angle-double-right"></i></a></li> <?php endif; ?> </ul> </nav> </div> <?php endif; }

Перепишите начало функции:
function _tk_pagination($customPage = false, $customQuery = false) { if(!empty($customPage) && !empty($customQuery)){ $paged = $customPage; $wp_query = $customQuery; } else { global $paged, $wp_query; } .....
Вместо:
function _tk_pagination() { global $paged, $wp_query; .....
Где вызываете пагинацию пропишите:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; _tk_pagination($paged, $query);
Сделал, пагинация появилась но при переходе на вторую и последующие страницы ничего не меняется, я имею ввиду одна и таже запись отображается.

а ссылки в пагинации как вылядят?

вам еще добавить нужно к аргументам:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'post_type' => 'post', 'orderby' => 'modifed', 'paged' => $paged );
Добавил, вот сейчас всё работает как надо! Вы бы хоть рекламму поставили на сайт, чтобы хоть как-то отблагодарить! Спасибо вам огромное!

Сайт не для заработка, а для поддержания себя так сказать в форме))
И за одно помогать другим.