1

我目前在我的 wordpress 网站上有一个基于复选框的搜索和过滤器。

基本上它使用这个 wp_query

$queryObject = new WP_Query(array("post_type"=>'toy','posts_per_page'=>999999,
    'category__and' => $_POST['myListOfCategories']));

我想摆脱使用类别(因为它使使用博客变得痛苦)

因此,我现在使用自定义分类法设置了所有内容,并注意到没有“分类法__and”。

有谁知道使用 WP_Query 以相同的方式使用分类法搜索帖子的方法 category__and 和工作?

例如,我传递了多个分类 ID,它只返回所有链接的帖子。

4

3 回答 3

1

来自http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters

你应该可以使用这样的东西;

$args = array(
    'tax_query' => array(
        'relation' => 'AND',
        array(
            'taxonomy' => 'movie_genre',
            'field' => 'slug',
            'terms' => array( 'action', 'comedy' )
        ),
        array(
            'taxonomy' => 'actor',
            'field' => 'id',
            'terms' => array( 103, 115, 206 ),
            'operator' => 'NOT IN'
        )
    )
);
$query = new WP_Query( $args );
于 2012-09-03T16:02:57.207 回答
1

您在 Wordpress 的 Query_posts 中通过了多个分类

请参阅下面的 URL 这对您很有帮助:-

https://wordpress.stackexchange.com/questions/25999/how-to-pass-url-parameters-for-advanced-taxonomy-queries-with-multiple-terms-for

https://wordpress.stackexchange.com/questions/10713/wp-3-1-getting-tax-query-to-work-in-query-posts

在 Wordpress 2.8 中查询多个自定义分类术语?

或尝试一下

query_posts( array(
  'tax_query' => array(
    array(
      'taxonomy' => 'tax1',
      'field' => 'slug',
      'terms' => array('term1', 'term2'),
      'operator' => 'OR'
    ),
    array(
      'taxonomy' => 'tax2',
      'field' => 'slug',
      'terms' => array('term3', 'term4'),
      'operator' => 'AND'
    ),
) );
于 2012-09-03T16:08:53.483 回答
1

在其他海报的帮助下,这是我问题的最终答案:

$queryObject = new WP_Query(array("post_type"=>'toy','posts_per_page'=>10,'tax_query' => array(
        大批(
            '分类学' => 'toy_cats',
            '字段' => 'id',
            '术语' => 数组(14,20,39,42),
            '操作员' => 'AND' )
    )));

上面的代码将只显示具有“玩具”帖子类型的帖子,属于分类“toy_cats”并分配给所有以下术语 id 的 14 AND 20 AND 39 AND 42

希望这对其他人有帮助。

于 2012-09-04T12:20:08.330 回答