Почему WP_QUERY работает по-другому для тега. php / category. php / archive. php, чем для таксономии. php / page. php et c?
In В моем случае у меня есть пользовательский тип поста «Галереи», который использует теги Wordpress (а также посты по умолчанию). Итак, в моем теге. php Я хочу использовать две петли для отображения галерей и постов.
К сожалению, разбиение на страницы на теге. php не работает… (ошибка 404 на страницах) - у меня нет этой проблемы при тестировании страницы. php, где я скопировал тот же код ( с жестко закодированным идентификатором тега).
Могу ли я как-то сбросить основной запрос Wordpress для тега. php, чтобы он вел себя так же, как тест страницы. php?
Код в теге. php:
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$args = array(
'type' => 'post',
'post_type' => 'gallery',
'posts_per_page' => 4,
'paged' => $paged,
'tag_id' => get_queried_object()->term_id
);
$loop = new WP_Query( $args );
if( $loop->have_posts() ):
while( $loop->have_posts() ): $loop->the_post(); ?>
HTML HERE
<?php
endwhile;
custom_pagination($loop, '', '', '#galleries');
endif;
wp_reset_postdata();
Функция. php:
function custom_pagination($loop, $prev, $next, $after_url = '') {
echo paginate_links( array(
'base' => str_replace( 999999999, '%#%', esc_url( get_pagenum_link( 999999999 ) ) ),
'total' => $loop->max_num_pages,
'current' => max( 1, get_query_var( 'paged' ) ),
'format' => '?paged=%#%',
'show_all' => false,
'type' => 'plain',
'end_size' => 2,
'mid_size' => 1,
'prev_next' => true,
'prev_text' => sprintf( '<i> < </i> %1$s', __( $prev, 'text-domain' ) ),
'next_text' => sprintf( '%1$s <i> > </i>', __( $next, 'text-domain' ) ),
'add_args' => false,
'add_fragment' => $after_url,
));
}