Помогите сделать пагинацию.

Пожалуйста помогите сделать пагинацию, сильно не пинайте я только учусь)

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

в 04.12.2016.
Добавить Комментарий

Сделал,  пагинация появилась но при переходе на вторую и последующие страницы ничего не меняется, я имею ввиду одна и таже запись отображается.

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

в 04.12.2016.

вам еще добавить нужно к аргументам:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'post',
'orderby' => 'modifed',
'paged' => $paged
);
в 04.12.2016.
Добавить Комментарий

Добавил, вот сейчас всё работает как надо! Вы бы хоть рекламму поставили на сайт, чтобы хоть как-то отблагодарить! Спасибо вам огромное!

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

И за одно помогать другим.

в 04.12.2016.
Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.