mrusklon
@mrusklon
Не получается? Яростно гугли!

Почему в wp не работает постраничная навигация с этим кодом?

<?php wp_reset_query() ?>
                    <?php

                    $items = new WP_Query(array('category__in' => array(1,7)));
                    while ($items->have_posts()) : $items->the_post(); ?>
                        <li>
                            <div class="sideVideo">
                                <?php if (has_post_thumbnail()) { ?>
                                    <?php the_post_thumbnail(array(184, 136)); ?>
                                <?php } ?>
                                <p><?php the_title(); ?></p>
                                <a href="<?php the_field('ssilkaNaVideo'); ?>">
                                    <div class="videoNav">
                                        <img src="<?php echo get_template_directory_uri() ?>/images/play.svg" alt=""/>
                                        <p class="timePlay"><?php the_field('vremjaVideo'); ?></p>
                                    </div>
                                </a>
                            </div>
                            <div class="tagsBlock">
                                <?php the_category(' '); ?>
                            </div>
                        </li>
                    <?php endwhile; ?>
                    </ul>
                    <?php wp_reset_query() ?>


что я только не пробовал , от the_posts_pagination() до всех примеров которые в интернете нашел , сейчас у меня используется
<?php if (function_exists('wp_corenavi')) wp_corenavi(); ?>

spoiler
function wp_corenavi() {
    global $wp_query;
    $pages = '';
    $max = $wp_query->max_num_pages;
    if (!$current = get_query_var('paged')) $current = 1;
    $a['base'] = str_replace(999999999, '%#%', get_pagenum_link(999999999));
    $a['total'] = $max;
    $a['current'] = $current;

    $total = 0; //1 - выводить текст "Страница N из N", 0 - не выводить
    $a['mid_size'] = 3; //сколько ссылок показывать слева и справа от текущей
    $a['end_size'] = 1; //сколько ссылок показывать в начале и в конце
    $a['prev_text'] = ''; //текст ссылки "Предыдущая страница"
    $a['next_text'] = ''; //текст ссылки "Следующая страница"
	$a['type'] = 'list';
	$a['prev_next'] = 'false';
    // кнопки next и prev скрыты через js
    echo $pages . paginate_links($a);

}


с стандартным выводом
<?php if (have_posts()){
                            while (have_posts()) {
                                the_post(); ?>
...
...

работает

как мне быть кто подскажет?
  • Вопрос задан
  • 303 просмотра
Решения вопроса 1
mrusklon
@mrusklon Автор вопроса
Не получается? Яростно гугли!
Допилил код , вот рабочий вариант , может кому пригодится:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

                $items = new WP_Query(array('category__in' => array(1, 7), 'posts_per_page' => '12', 'paged' => $paged));

вот так заменил и сделал отдельную функцию для навигации
spoiler
function wp_queryNav() {
    global $items;
    $pages = '';
    $max = $items->max_num_pages;
    if (!$current = get_query_var('paged')) $current = 1;
    $a['base'] = str_replace(999999999, '%#%', get_pagenum_link(999999999));
    $a['total'] = $max;
    $a['current'] = $current;

    $total = 0; //1 - выводить текст "Страница N из N", 0 - не выводить
    $a['mid_size'] = 2; //сколько ссылок показывать слева и справа от текущей
    $a['end_size'] = 1; //сколько ссылок показывать в начале и в конце
    $a['prev_text'] = ''; //текст ссылки "Предыдущая страница"
    $a['next_text'] = 'Вперед'; //текст ссылки "Следующая страница"
    $a['type'] = 'list';
    $a['prev_next'] = 'false';
    // кнопки next и prev скрыты через js
    echo $pages . paginate_links($a);

}

Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
maxxannik
@maxxannik
Сайты на WordPress + Интернет магазины WooCommerce
Птм что эти функции заточены на работу с query_posts. Этот обертка для WP_Query которая отвечает за вывод списка с пагинацией.
Подробней тут https://codex.wordpress.org/Pagination#Numbered_Pa...

Хотите использовать типовые функции - используйте метод query_posts.
Хотите использовать WP_Query - пишите свои методы пагинации.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы