Пейджинг не работает?
-
16-10-2019 - |
Вопрос
У меня есть свой собственный тип поста и 15 предметов.
Этот код показывает все элементы:
<?php $loop = new WP_Query( array( 'post_type' => 'my_post_type', 'posts_per_page' => 15 ) );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
(...)
Когда я меняю post_per_page на «5», должно быть 3 страницы, но на нем отображаются только 5 элементов, и нет других страниц (или, по крайней мере, я не знаю, как получить к ним доступ).
Этот код ничего не отображает:
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
{menu or any html code}
<?php endif; ?>
Может, я что -то не так сделаю? У меня есть весь код/цикл в файле Page-myposttype.php.
Я попробовал этот код:
$temp = $wp_query;
$loop= null;
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
$loop = new WP_Query( array(
'post_type' => 'my_post_type',
'paged' => $paged,
'posts_per_page' => 2 ) );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
Но не повезло ... Когда я набираю WordPress/MY_POST_TYPE/PAGE/2 (Page/3 и т. Д.) Вручную я вижу другие страницы, и они работают и выглядят нормально. Но я не могу повторить по умолчанию Navi ... :(
Решение
Ответил на вопрос, который практически идентичен этому совсем недавно на форумах WordPress.org.
Пользовательский архив типа публикации - страница страницы не работает.
Я предоставил в этой ветке обходное оборудование / исправление, которое также должно работать для вас.
:)
РЕДАКТИРОВАТЬ: Вам также нужно добавить параметр пейджинг в свой запрос ..
Например.
$args = array(
'post_type' => 'my_post_type',
'paged' => get_query_var('paged') ? get_query_var('paged') : 1,
'posts_per_page' => 15,
);
$loop = new WP_Query;
$loop->query( $args );
Я переформатировал код, чтобы сделать его немного более читабельным, конечный результат будет таким же.