Здравствуйте, уже 2-й день борюсь с проблемой и до сих пор не понимаю как побороть этот парадокс, надеюсь на вашу помощь. В общем суть проблемы:
У меня на архивной странице кастомного типа записи есть вывод постов с использование WP_Query, использую его так как мне нужно на архивной странице выводить не все посты, одну категорию нужно исключить. Запрос выглядит так:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$posts_per_page = get_option('posts_per_page');
//print_arr($posts_per_page);
$args = array(
'post_type' => 'slots',
'posts_per_page' => $posts_per_page,
'paged' => $paged,
'orderby' => 'title',
'order' => 'ASC'
);
$args['tax_query'] = array(
array(
'taxonomy' => 'slot_game_type',
'field' => 'slug',
'terms' => array('real-money-slots'), // исключаем
'operator' => 'NOT IN'
)
);
Ну и дальше обычный вывод.
<!--slots-->
<div class="slots-container">
<div class="row">
<?php
$wp_query = new WP_Query($args);
if ($wp_query->have_posts()) : while ($wp_query->have_posts()) : $wp_query->the_post(); $post_ID = get_the_ID(); ?>
<div class="col-lg-3 col-md-4 col-sm-6">
<?php get_template_part('assets/templates/archive-slots-item'); ?>
</div>
<?php endwhile; ?>
<?php endif; ?>
</div>
</div>
<!--end slots-->
Так вот в чем в общем-то проблема. Допустим у меня всего постов в кастомном типе 100 штук, в категории, которую мне нужно исключить из архивной страницы 20 штук. Когда я выполняю запрос у меня выводится на архивной 80 постов по 10 штук на страницу всего 8 страниц.
НО когда я вручную ввожу в строку поиска 9 и 10 страницу они у меня тоже отображаются (без постов), и это тот парадокс, который мне не понятен, как его решить? Ведь когда я ввожу уже 11-ю страницу отображается 404 ошибка и это нормально. Но почему она (404) не отображается в случаи из исключением постов (в данном примере на 9 и 10 странице)? Решение данной проблемы нужно для сео, подскажите, кто-то сталкивался с подобным как можно решить это? Спасибо.