WP_Query获取具有特定术语分类的帖子

时间:2014-05-09 17:44:44

标签: php mysql wordpress wordpress-plugin wordpress-theming

在我的wordpress安装中,我有一个自定义分类event-categories,它映射到自定义帖子类型event

在我的单个帖子显示页面中,我需要列出在当前帖子的同一event-categories张贴的所有帖子。我怎么能为此写一个wp查询?

自定义帖子中自定义分类的屏幕截图。

enter image description here

现在尝试这样get_the_terms(the_ID(), 'event-categories')

所以我得到了与单个帖子相关的所有term_taxonomy_id个。接下来,我如何获取包含这些term_taxonomy_id的所有帖子。

1 个答案:

答案 0 :(得分:1)

这将是解决问题的最基本的查询。

$term_tax_ids = get_the_terms(get_the_ID(), 'event-categories');
$terms = array();

foreach($term_tax_ids as $term_tax_id) {
  array_push($terms, $term_tax_id->term_id);
}

$args = array(
  'post_type' => 'event',
  'posts_per_page' => 5,
  'tax_query' => array(
    array(
      'taxonomy' => 'event-categories',
      'field' => 'id',
      'terms' => $terms,
      'operator' => 'IN',
    )
  )
);

$query = new WP_Query( $args );

while ( $query->have_posts() ) {
  $query->the_post();
  echo '<div class="related_single">' . get_the_post_thumbnail();
  echo '<div class="related_title"><a href="' . get_permalink() . '">' . get_the_title() . '</a></div></div>';
}

你应该真正阅读Codex,它实际上是你想知道的关于查询的一切