显示所有自定义帖子类型分类的帖子,而非常规类别

时间:2015-04-09 16:52:52

标签: php wordpress

我已经设置了自定义帖子类型(培训),并且它具有taxanomy (公司)。我已经为我设置的名为 highwaysmedia 的示例性动物分配指定了一个帖子。

以下代码位于我的 archive-training.php 页面,该页面适用于此CPT。它显示的是常规帖子类型的类别,每个帖子都有1个帖子。我需要它来显示自定义帖子类型“培训”的每个类别/ taxanomy中的一个帖子。

<?php
//for each category, show all posts
$cat_args=array(
  'orderby' => 'name',
  'order' => 'ASC',
  'post_type' => 'training'
   );
$categories=get_categories($cat_args);
  foreach($categories as $category) {
    $args=array(
      'showposts' => 1,
      'category__in' => array($category->term_id),
      'caller_get_posts'=>1
    );
    $posts=get_posts($args);
      if ($posts) {
        echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> ';
        foreach($posts as $post) {
          setup_postdata($post); ?>
          <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
          <?php
        } // foreach($posts
      } // if ($posts
    } // foreach($categories
?>

以下是我设置的所有页面:http://www.highwaysindustry.com/training/

我使用TYPES插件创建自定义帖子类型。

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以在以下分类法中查询自定义帖子类型:

$args = array(
    'post_type' => 'training',
    'posts_per_page' => 1,
    'orderby' => 'name',
    'order' => 'ASC',
    'tax_query' => array(
        array(
            'taxonomy' => 'companies',
            'field' => 'slug',
            'terms' => 'highwaysmedia'
        )
    )
);
$query = new WP_Query( $args );