WordPress高级自定义字段 - 元查询没有结果

时间:2014-12-17 16:26:32

标签: php wordpress advanced-custom-fields

我在WP中使用WPML和ACF。

现在,我想列出类别ID 399的帖子,其中包含ACF字段“organization_type”和值键“socialbusiness”,但它们没有显示。

这是我的查询尝试:

        $args = array(
            'post_type'     => 'post',
            'cat'      => 399,
            'posts_per_page'    => -1,
            'meta_query'        => array(
                //'relation' => 'OR',
                array(
                    'key' => 'organization_type',
                    'value' => 'socialbusiness',
                    //'compare' => '='
                )
            )
        );
        //unset($args);

        $args = array(
            'numberposts' => -1,
            'post_type' => 'post',
            'cat' => 399,
            'meta_key' => 'organization_type',
            'meta_value' => 'socialbusiness'
        );

        // query
        query_posts( $args );
        while( have_posts() ) {

我做错了什么?

1 个答案:

答案 0 :(得分:0)

你应该只有一个变量$ args,因为你的第一个变量声明被第二个变量覆盖。

在您的情况下,您的代码应如下所示:

 <?php
 $args = array(
   'post_type' => 'post',
   'posts_per_page' => '-1',
   'tax_query' => array(
      array(
         'taxonomy' => 'category',
         'field' => 'id',
         'terms' => 399
         )
      ),
   'meta_query' => array(
      array(
       'key' => 'organization_type',
       'value' => 'socialbusiness',
       'compare' => '=',
       'type' => 'CHAR'
       ),
      )
   );

 $items = new WP_Query($args);
 ?>
 <?php if($items->have_posts()) : ?>
   <div class='item'>
      <?php while($items->have_posts()) : $items->the_post() ?>
         .....
      <?php endwhile ?>
   </div>
<?php endif ?>