Нашли в системе WordPress такой баг, что если у вас главная страница указана шаблоном страницы или кастомная (хотя на многих других сайтах проверяли — и во всех случаях эта ошибка встречалась), то введя в строку поиска /page/2 (вместо 2 — можете ввести любое число) — то вы увидите, что откроется главная страница. Хотя должна открываться 404-я страница.
Мы решили для своего проекта эту проблему таким образом:
add_action('template_redirect', 'is_home_page', 10);
function is_home_page(){
if(get_page_template_slug()==='page-home.php' && !empty(get_query_var('paged')))
{
global $wp_query;
$wp_query->set_404();
status_header( 404 );
get_template_part( 404 );
exit();
}
}
Мы использовали конструкцию get_page_template_slug()===’page-home.php’, потому как у нас очень кастомная верстка.
В обычном случае же, думаю, достаточно будет проверки is_home() / is_front_page().
Соответственно, что происходит?
Мы добавили экшн, который проверяет есть ли у вас переменная paged и какое у нас название шаблона страницы. Если мы понимаем, что это главная страница, то показываем страницу 404 и пишем, что такой страницы не существует.
Все просто)
Надеюсь, что кому-то пригодится это решение так же, как оно пригодилось и нам!