Как вы получаете, get_queried_object (), чтобы вернуть «другую» таксономию по нескольким таксономическим запросам в WordPress / Woocommerce

Я создаю сайт электронной коммерции запчастей, используя WordPress и Woocommerce.

Я создал пользовательскую таксономию «модель» в типе сообщения продукта, чтобы помочь фильтровать результаты.

Я установил правила перезаписи при запросе нескольких таксономий, например, когда таксономии «model» и «product_cat» используются совместно:

function custom_rewrite_rules() { add_rewrite_rule('^model/(.*)/product-category/(.*)?', 'index.php?model=$matches[1]&product_cat=$matches[2]', 'top'); add_rewrite_rule('^product-category/(.*)/model/(.*)?', 'index.php?product_cat=$matches[1]&model=$matches[2]', 'top'); } add_action('init', 'custom_rewrite_rules'); 

Моя проблема заключается в том, что я хочу использовать is_tax ('product_cat'), чтобы проверить, есть ли я в архиве таксономии products_cat, но когда я использую get_queried_object () по следующим URL-адресам, результаты (в частности, таксономия, которые возвращаются) не так ожидаются:

domain.com/model/ford/
Таксономия = модель (как и ожидалось)

domain.com/model/ford/product-category/audio/
Таксономия = модель (как и ожидалось)

domain.com/product-category/audio/
taxonomy = product_cat (как и ожидалось)

domain.com/product-category/audio/model/ford/
таксономия = модель ( не как ожидалось)

Я не уверен, почему это происходит, но я ожидал, что последний URL-адрес в приведенных выше примерах вернет таксономию product_cat. Кто-нибудь имел эту проблему раньше или знал, как я могу получить ожидаемые результаты?