WordPress не генерирует "родительскую" страницу архива, как вы ее себе представили. Ни для кастомных таксономий, ни для стандартных меток или рубрик. Попробуйте
http://адрес_сайта/category или
http://адрес_сайта/tag чтобы убедиться в этом. Ваш запрос для WP выглядит следующим образом:
Request catalog
Matched Rule ([^/]+)(/[0-9]+)?/?$
Matched Query name=taxonomy&page=
Query String name=taxonomy
То есть, для WP подобный запрос - это статическая страница. А ее такой у него, очевидно, нет. Если вам нужна такая страница, да с каким-то функционалом, есть 2 пути. Но сначала определитесь, что вы там хотите? Список терминов вашей таксономии? Все посты в этой таксономии?
Решение:
1. Создать страницу с таким же slug (в вашем случае - catalog), для страницы создать кастомный шаблон page-catalog.php и в нем написать нужный вам код.
2. Через хуки. Отлавливаете на этапе
parse_query
что запрос на страницу с названием
catalog
, и на этапе
template_include
подключаете нужный шаблон. Сам шаблон, естественно, нужно создать. Это может быть php-файл с любым удобным вам названием. В него вписываете весь нужный функционал.
Куда копать:
get_terms() - получить все термины в таксономии
WP_Query - кастомный луп для получения постов. Читать секцию по Taxonomy Query.