显示来自自定义帖子类型的自定义类别帖子

时间:2015-01-02 作者:Kareem

我正在尝试显示来自Custom Post Type (文档)具有自定义Taxonomy (主题)有两个类别,每个类别页面都应该有自己的帖子。但当我打开这些类别中的任何一个页面时,我都会从这个自定义帖子类型中获得所有帖子。

我创建了一个文件taxonomy-subject.php 代码如下:

$args = array( \'post_type\'      => \'documents\',
               \'posts_per_page\' => 20 );
$terms = get_terms( \'subject\', array (
                             \'hide_empty\' => 0,)
                  );               
$loop = new WP_Query( $args, $term );
             while ( $loop->have_posts() ) : $loop->the_post();
// content 
那么问题到底出在哪里呢?

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

您应该需要在上执行任何自定义查询taxonomy-subject.php, 使用普通的loop api. WordPress将为您构建一个查询。

关于你的问题:

$args = array(
  \'post_type\'      => \'documents\',
  \'posts_per_page\' => 20,
);
WP_Query 不会将第二个参数带到其构造函数。它所看到的只是上面的论点。您要求WP\\U查询文档帖子类型中的20篇帖子。这是给你的。如果你想要某个特定学期的帖子,你需要告诉它with a taxonomy parameter.

$loop = new WP_Query(array(
    \'post_type\' => \'documents\',
    \'posts_per_page\' => 20,
    \'tax_query\' => array(array(
        \'taxonomy\' => \'subject\',
        \'terms\' => get_queried_object_id(),
    )),
));
get_queried_object_id 应在上返回术语IDtaxonomy-subject.php, 如果此循环在其他地方使用,则需要使用其他一些代码。

结束

相关推荐

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

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