以另一种方式获取与自定义分类相关联的帖子

时间:2015-04-19 作者:ultraloveninja

我有一个名为artwork 我正在尝试获取所有与artiststaxonomy-artists.php

我找到了一个例子here 这是可行的,但我想知道我是否可以把它缩小一点。我不记得在分类页面上是否需要查询分类术语。如果我已经在查询自定义分类法的特定页面上,似乎不需要这样做。以下是当前代码:

  <?php
$terms = wp_get_post_terms( $post->ID, \'artists\' );
if($terms){
// post has course_type terms attached
$artists = array();
foreach ($terms as $term){
  $artists[] = $term->slug;
}

$original_query = $wp_query;
$wp_query = null;
$wp_query = new WP_Query( array(
  \'post_type\' => \'artwork\',
  \'tax_query\' => array(
    array(
      \'taxonomy\' => \'artists\',
      \'field\' => \'slug\',
      \'terms\' => $artists, //the taxonomy terms I\'d like to dynamically query
      \'posts_per_page\' => \'-1\'
    ),
  ),
  \'orderby\' => \'title\',
  \'order\' => \'ASC\'
) );

$image = get_field(\'artwork_image\');
$size = \'artwork-small\';
$img = $image[\'sizes\'][ $size ];

if ( have_posts() ): ?>
<ul>
  <?php while (have_posts() ) : the_post(); ?>
    <li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><img src="<?php echo $img ?>" alt="<?php echo $image[\'alt\']; ?>" /><?php the_title(); ?></a></li>
  <?php endwhile; ?>
</ul>
<?php endif;
$wp_query = null;
$wp_query = $original_query;
wp_reset_postdata();
} // end if($terms)
?>
正如我所说,它是有效的,但如果我已经在taxonomy-artists.php

1 个回复
最合适的回答,由SO网友:Sumit 整理而成

您在问题中添加的链接用于显示共享相同术语的其他帖子。

我猜您想显示当前分类法的所有帖子,而不是单个术语?

然后使用默认值$wp_query 要做到这一点,只需删除自定义wp\\u查询并保持循环不变。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post