Wordpress 如何在post中显示此类别?

Wordpress 如何在post中显示此类别?,wordpress,Wordpress,我有: 自定义邮件类型-“服务” 自定义分类法-“服务类别” 我有这样的术语结构: bmw - bmw e60/61 - bmw 520d - Maintenance (Post: Maintenance bmw 520d) - Retrofitting - Repair - Engine repair (Post: engine repair bmw 520d)

我有:

自定义邮件类型-“服务”

自定义分类法-“服务类别”

我有这样的术语结构:

bmw
 - bmw e60/61
    - bmw 520d
       - Maintenance
               (Post: Maintenance bmw 520d)
       - Retrofitting
       - Repair
         - Engine repair
                 (Post: engine repair bmw 520d)
         - Automatic transmission repair
                 (Post: AT oil change bmw 520d)
    - bmw 530i
       - Maintenance
               (Post: Maintenance bmw 530i)
       - Retrofitting
       - Repair
         - Engine repair
                 (Post: engine repair bmw 530i)
         - Automatic transmission repair
                 (Post: AT oil change bmw 530i)
如何在文章的侧栏中显示当前模型的主要类别列表?我指的是宝马520d或宝马530i等车型

例如: 在“发动机维修bmw 530i”的帖子中,侧栏链接显示bmw 530i的“维护”、“改装”、“维修”

在“发动机维修bmw 520d”一文中,侧栏中显示的链接指向bmw 520d的“维护”、“改装”、“维修”


我只想在帖子的边栏中显示这些类别:

这是我的代码,但如果在这里我选择其他模型,它将显示错误的链接

<?php
$terms = wp_get_post_terms($post->ID, 'services_category', array('fields' => 'all'));

if(!empty($terms)) {
  $first_term = $terms[0];

  $items = get_terms(array(
    'taxonomy'      => 'services_category',
    'orderby'       => 'id', 
    'order'         => 'ASC',
    'hide_empty'    => false, 
    'object_ids'    => null,
    'number'        => '', 
    'fields'        => 'all', 
    'count'         => false,
    'slug'          => '', 
    'parent'         => $first_term->term_id,
    'hierarchical'  => true, 
    'child_of'      => 0, 
    'get'           => '',
    'name__like'    => '',
  ));
  ?>
  <div class="col-xl-3">
    <aside class="services-aside">
      <nav class="services-aside__nav">
        <ul class="services-aside__list">
          <?php
          foreach( $items as $term ){
            $term_link = get_term_link($term);
            ?>
              <li>
                <a href="<?php echo $term_link; ?>" class="services-aside__link">
                  <?php echo $term->name; ?>
                </a>
              </li>
            <?php
          }
          ?>
        </ul>
      </nav>
    </aside>
  </div>
  <?php
}




尝试此代码,您可以检查类别父项是否为0。所有0值都是父类别

在产品循环中显示

$categories = get_the_category();
if( $categories ){
    foreach( $categories as $category ) {
        if ( $category->parent < 1 ) {
            // Your code
        }
    }
}

请尝试此代码,您可以检查类别父项是否为0。所有0值都是父类别

在产品循环中显示

$categories = get_the_category();
if( $categories ){
    foreach( $categories as $category ) {
        if ( $category->parent < 1 ) {
            // Your code
        }
    }
}

谢谢你的回答!但是这段代码对我来说不起作用,我需要得到模型(bmw 520d)的术语id,然后显示这个模型的第一级类别。如果帖子属于bmw 530i,则显示bmw 530i的一级类别。我可以使用get_terms,然后将模型的term_id传递到“parent”字段,以获取一级类别,但主要问题是,如何获取模型类别的term_id,我只想在帖子的侧栏中显示这些类别——它显示的是类别“Models”,但我需要显示某些汽车的顶级类别,而不是id为0的类别。如果你不明白,请再读一遍我的问题。无论如何,谢谢你的回答!谢谢你的回答!但是这段代码对我来说不起作用,我需要得到模型(bmw 520d)的术语id,然后显示这个模型的第一级类别。如果帖子属于bmw 530i,则显示bmw 530i的一级类别。我可以使用get_terms,然后将模型的term_id传递到“parent”字段,以获取一级类别,但主要问题是,如何获取模型类别的term_id,我只想在帖子的侧栏中显示这些类别——它显示的是类别“Models”,但我需要显示某些汽车的顶级类别,而不是id为0的类别。如果你不明白,请再读一遍我的问题。无论如何,谢谢你的回答!