我不确定这是否可行,但我正在尝试我的分类法。php文件对我的所有10个自定义分类法都是一样的。下面的代码完全符合我的需要(即:在url结尾时../inventory/yearmade/2017/
所有带有yearmade
分类术语2017
循环并输出(或在url末尾输入的任何年份)。
但我现在要做10个不同的taxonomy-[taxonomy].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(); ?>
最合适的回答,由SO网友:Paul \'Sparrow Hawk\' Biron 整理而成
在分类法模板中,查询的对象是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) ;