自定义-后置类型和自定义分类WP_QUERY

时间:2013-01-26 作者:WPler

我添加了一个具有自定义分类法的自定义帖子类型,并希望通过模板将所有帖子都添加到此类型中,但结果是0

$args=array(
  \'post_type\' => \'contents\',
  \'post_status\' => \'publish\',
  \'tax_query\' => array(
      \'taxonomy\' => \'content-category\',
      \'field\' => \'id\',
      \'terms\' => array(5,26,28)
  ),
  \'meta_key\' => \'fs16\'
);
$query = new WP_Query($args);
下面是SQL查询(不知道为什么):

SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id) JOIN wp_icl_translations t ON wp_posts.ID = t.element_id AND t.element_type = \'post_contents\' JOIN wp_icl_languages l ON t.language_code=l.code AND l.active=1 WHERE 1=1 AND 0 = 1 AND wp_posts.post_type = \'contents\' AND (wp_posts.post_status = \'publish\') AND (wp_postmeta.meta_key = \'fsk16\' ) AND t.language_code=\'en\' GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 10
这里怎么了?

2 个回复
SO网友:RRikesh

这个taxonomy, fieldterms 在里面tax_query 应该是两个数组级别的深度,而不是一个。引用自WP_Query page:

重要提示:tax\\u query采用tax查询参数数组(它采用数组数组)-您可以在下面的第二个示例中看到这一点。此构造允许您通过使用第一个(外部)数组中的关系参数来描述分类查询之间的布尔关系来查询多个分类。

所以,你的论点应该是:

$args = array(
    \'post_type\' => \'contents\',
    \'tax_query\' => array(
        array(
               \'taxonomy\' => \'content-category\',
               \'field\' => \'id\',
               \'terms\' => array(5,26,28)
        )
    ),
        \'meta_key\' => \'fs16\'
);
您可以省略\'post_status\' => \'publish\' 因为它是使用的默认值。

SO网友:varun1505

你确定要传递这么多参数吗?以下内容应足以显示该类别的帖子。

$args = array( \'post_type\' => \'contents\', \'posts_per_page\' => 10 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
    the_title();
    echo \'<div class="entry-content">\';
    the_content();
    echo \'</div>\';
endwhile;
上述代码取自WP Codex.

结束

相关推荐

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

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