Можно ли динамически получить запрос и таксономию?

Я не уверен, что это возможно, но я пытаюсь заставить файл taxonomy.php работать одинаково для всех 10 моих пользовательских таксономий. Приведенный ниже код работает точно так, как мне это нужно (т. ../inventory/yearmade/2017/ Когда на конце url ../inventory/yearmade/2017/ все должности с yearmade таксономическим сроком 2017 зацикливаются и выводятся (или любой год, введенный в конце url).

Но в настоящее время мне приходится составлять 10 различных таксономии – [ таксономии ] .php- файлов, каждый с изменением кода только другой строки в taxonomy => '___' (год, марка, модель, длина, луч, двигатель, размер, лошадиная сила, привод, трейлер).

Для динамической загрузки этого термина я смог использовать 'terms' => '$queried_object->slug' (строка 8). Есть ли способ сделать то же самое для таксономии?

Я пробовал то же самое в строке 6: 'taxonomy' => '$queried_object->slug' но это не работает.

 <?php $queried_object = get_queried_object(); $query = new WP_Query( array( 'post_type' => "inventory", 'tax_query' => array( array( 'taxonomy' => "yearmade', 'field' => "slug", 'terms' => "$queried_object->slug", ) ) ) ); while ( $query->have_posts() ) : $query->the_post(); ?> <div> <h2><?php the_title(); ?></h2> <ul> <li>Year: <?php the_terms( $post->ID, 'yearmade'); ?> <li>Make: <?php the_terms( $post->ID, 'make'); ?> <li>Model: <?php the_terms( $post->ID, 'model'); ?> <li>Length: <?php the_terms( $post->ID, 'length'); ?> <li>Beam: <?php the_terms( $post->ID, 'beam'); ?> <li>Engine: <?php the_terms( $post->ID, 'engine'); ?> <li>Size: <?php the_terms( $post->ID, 'size'); ?> <li>Horsepower: <?php the_terms( $post->ID, 'horsepower'); ?> <li>Drive: <?php the_terms( $post->ID, 'drive'); ?> <li>Trailer: <?php the_terms( $post->ID, 'trailer'); ?> </ul> </div> <?php endwhile; ?> <?php wp_reset_query(); ?> 

В шаблоне таксономии запрашиваемый объект является экземпляром WP_Term , одним из полей которого будет таксономия, из которой исходит термин.

Итак, вы можете начать свой taxonomy.php следующим образом:

 $queried_object = get_queried_object () ; $args = array ( 'post_type' => 'inventory', 'tax_query' => array ( array ( 'taxonomy' => $queried_object->taxonomy, 'field' => 'slug', 'terms' => $queried_object->slug, ), ), ) ; $query = new WP_Query ($args) ;