从自定义帖子类型获取多个分类法

时间:2018-08-29 07:06:56

标签: php wordpress

我有两种自定义帖子类型,分别为publicationservice

我在publication下发布了文章和小册子,分为publication-servicepublication-type两种不同的类别。

publication-service指示此出版物所属的服务。

另一方面,publication-type指示此资源是哪种发布。

service帖子类型也具有与publication相同的类别类型,它是重复的类别类型。

因此,我使用以下代码在publicationservices之间创建了关系,以便在服务页面中列出发布帖子。该代码运行完美,我可以在任何服务和发布之间创建关系。例如,网站上列出的一项服务是 Education (教育),同时我还提供了一些有关教育服务的小册子和文章。通过应用以下代码,我可以列出与各个服务相关的帖子。

我真正想做的是在下面的代码中添加另一种分类法作为发布类型,这样我就可以选择要在服务页面中列出的发布类型,因为当前所有发布类型(索引,文章)帖子显示在服务页面中。我想缩小范围。

希望您能理解我要解释的内容,这是包含服务和出版物的网站结构。enter image description here

你们可以帮忙吗?

  <?php

  $custom_terms = wp_get_post_terms($post->ID, 'publication-service');

  if( $custom_terms ){


      $tax_query = array();


      if( count( $custom_terms > 1 ) )
          $tax_query['relation'] = 'OR' ;


      foreach( $custom_terms as $custom_term ) {

          $tax_query[] = array(
              'taxonomy' => 'publication-service',
              'field' => 'slug',
              'terms' => $custom_term->slug,
          );

      }


      $args = array( 'post_type' => 'publication',
                      'posts_per_page' => 5,
                      'tax_query' => $tax_query );


      $loop = new WP_Query($args);

      if( $loop->have_posts() ) {

          while( $loop->have_posts() ) : $loop->the_post(); ?>
        <div class="item">
        <div class="listing-title">
          <a href="<?php the_permalink() ?>" class="underline"><?php the_title() ?></a>
        </div>
        <div class="listing-image">
          <a href="<?php the_permalink() ?>" style="background-image: url('<?php echo get_the_post_thumbnail_url(get_the_ID(), 'full') ?>')"></a>
        </div>
      </div>
          <?php

          endwhile;

      }

      wp_reset_query();

  }?>

0 个答案:

没有答案