使用 taxonomy-tax_slug.php 模板为所有分类术语创建存档

Using the taxonomy-tax_slug.php template to create an archive for all taxonomy terms

我创建了自定义 Post 类型,游艇,分类为 yacht_types(包括双体船、机动游艇和帆船)。

我希望每个类型都有自己的档案,使用分类法-yacht_type.php,而不是taxonomy-yacht_type-catamaran、motor-yacht等。

我已经研究和尝试了 2 天的东西,但我似乎无法前进,所以我想现在缺乏知识。下面的代码是我在 "taxonomy-yacht_type-catamaran.php" 案例中使用的代码。

<?php
    $args['tax_query'] = array(
        array(
            'taxonomy' => 'yacht_type',
            'field' => 'term_id',
            'terms' => 10,
        )
    );
    $my_query = null;
    $my_query = new WP_Query($args);
    if( $my_query->have_posts() ) {
        while ($my_query->have_posts()) : $my_query->the_post(); 
            $feat_image = wp_get_attachment_url( get_post_thumbnail_id($post->ID) ); ?>

                ** html for each post repeat goes here **

        <?php endwhile; 
    }

    wp_reset_query();
?> 

有没有办法以某种方式自动获取税号而无需手动输入(如我的代码第 6 行所示)?因为这意味着我将不得不创建和管理 3 个不同的文件,这些文件在技术上可以完成与我想要的完全相同的工作..

我会为这样的事情使用查询字符串,除非您对 url 很挑剔,否则它会很好用。有些人不喜欢 url http://www.example.com/yacht-tax-page?type=catamaran

中的 ?=

然后就可以读取$_GET数组中的值了

抱歉,请重新阅读问题,它实际上与我认为的完全不同。

您可以只使用带有标准循环的 taxonomy.php 或分类法-yacht_type.php。在您的分类模板文件中尝试以下代码。

<?php if ( have_posts() ) : while ( have_posts() ) : the_post();
     $feat_image = wp_get_attachment_url( get_post_thumbnail_id($post->ID) ); ?>

     ** html for each post repeat goes here **

<?php endwhile; else: ?>
    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>