是否可以动态获取查询到的术语和分类?

时间:2017-03-11 作者:codeview

我不确定这是否可行,但我正在尝试我的分类法。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(); ?>

1 个回复
最合适的回答,由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) ;

相关推荐

使用WP_QUERY混合发布日期和发布元值

正在寻找使用自定义字段将旧帖子推送到WP\\u查询中的方法。例如,我今年有10篇文章,想将过去的2篇文章重新发布到自定义rss提要。因此,对于旧帖子,必须按照帖子日期和帖子元中的值对帖子进行排序:new post - (post date: 2018-11-11) new post - (post date: 2018-11-10) old post - (post date: 2017-05-01, post-meta date: 2018-11-09) new post - (