Как узнать, какая страница архива активна

У меня есть два типа пользовательских сообщений типа «продукт» и «блог». И у меня есть также две архивные страницы «archive-product.php» и «archive-blog.php».

Теперь я хочу узнать, какая страница архива активна.

Пример. Мы знаем is_page('contact') если страница связывается, тогда она возвращает true. Но как насчет архивных страниц. Я использовал is_archive('blog') , но эта функция всегда возвращает true как в архиве, так и в архиве блога.

Итак, есть ли способ узнать, активна ли эта страница с архивами «продукт» или «блог»

Прежде всего, is_archive() не принимает никаких параметров, если вы прочитали код, поэтому он всегда будет возвращать true независимо от того, что вы пробовали на любой странице архива

Как указано, is_post_type_archive( $post_types ) – это правильный условный тег для проверки для конкретной страницы архива типа пост.

Одна вещь, однако, ваш вопрос неясно о том, как вы хотели бы использовать это условие, поскольку у вас уже есть страница архива, специально сделанная для каждого настраиваемого типа сообщений, поэтому, чтобы проверить, не имеет ли смысл ваша страница на определенной странице архива. is_post_type_archive('blog') всегда возвращает true в файле archive-blog.php, тогда как is_post_type_archive('product') всегда возвращает false, а is_post_type_archive('product') всегда возвращает true в is_post_type_archive('blog') archive-product.php while is_post_type_archive('blog') всегда будет возвращать значение false.

Использовать is_post_type_archive

 if(is_post_type_archive('product')) 

или

 if(is_post_type_archive('blog'))