WordPress自定义分类法WP_Query

时间:2013-09-24 00:28:10

标签: php wordpress custom-post-type

我正在尝试创建一个查询,我在自定义帖子类型中创建多个类别(分类法),然后根据具体工作正常的主页查询。目前我有3种分类法:

  1. 电流特别
  2. meineke差
  3. 功能
  4. 我已经编写了可以提取这些内容的代码。我遇到的问题是,在主页上,当它们也附加到“特色”分类标准时,它只需要拉这些帖子。因此,标准逻辑的一个例子是:

    如果分类=当前特价和特色,那么成功其他失败

    但它正在做的是将它们全部拉出来,因为当前代码是OR,我需要AND

    思考? (以下代码)

    <?php
    
    $post_type = 'coupons';
    $tax = 'coupons_category';
    $tax_terms = get_terms($tax);
    
    if ($tax_terms):
    
        foreach ($tax_terms as $tax_term):
    
            echo '<div id="'.$tax_term->slug.'" class="coupon-box '.$tax_term->slug.'">';
    
            $args = array(
                'post_type' => $post_type,
                "$tax" => array($tax_term->slug, 'featured'),
                'post_status' => 'publish',
                'posts_per_page' => -1,
                'caller_get_posts' => 1
            );
            $myQuery = null;
            $myQuery = new WP_Query($args);
    
            if($myQuery->have_posts()):
                while ($myQuery->have_posts()) : $myQuery->the_post();
    
                $price = get_field('price_image', $myQuery->ID);
                $print = get_field('print', $myQuery->ID);
                $product = get_field('product_box_image', $myQuery->ID);
    
                $title = get_the_title();
                $content = get_the_content();
    
                echo '<div class="fourty9 left box center">';
                    echo '<h1>'.$title.'</h1>';
                    echo '<p class="center"><img src="'.$price.'" /></p>';
                    echo '<p>'.$content.'</p>';
                    echo '<p class="center"><a href="'.$print.'">Print Coupon</a></p>';
                    echo '<p class="center"><img src="'.$product.'" alt="Filter"></p>';
                echo '</div>';  
    
    
                endwhile;
            endif;
    
            echo '</div>';
    
            wp_reset_query();
    
        endforeach;
    
    endif;
    
    ?>
    

1 个答案:

答案 0 :(得分:0)

你可以试试这个(tax - 使用分类法slug。从版本3.1开始不推荐使用'tax_query')

$args = array(
    'post_type' => 'coupons',
    'posts_per_page' => -1,
    'caller_get_posts' => 1,
    'tax_query' => array(
        array(
            'taxonomy' => 'coupons_category',
            'field' => 'slug',
            'terms' => array( 'current-specials', 'featured' ),
            'operator' => 'AND'
        )
    )
);
$query = new WP_Query( $args );