Php WP_在一页上查询两次-每页无法获得所需的帖子

Php WP_在一页上查询两次-每页无法获得所需的帖子,php,wordpress,custom-post-type,Php,Wordpress,Custom Post Type,我有一个自定义的文章类型,它有一个ACF复选框来定义一篇文章是否具有特色。我想在一个页面上显示6篇特色文章和6篇非特色文章,因此创建了2个WP_查询循环,这两个循环都有单独的参数。虽然特色和非特色的分离是可行的,但页面总共只显示了6篇文章,我不知道如何解决这个问题 我的代码: <?php $args1 = array( post_type => 'fairs', posts_per_p

我有一个自定义的文章类型,它有一个ACF复选框来定义一篇文章是否具有特色。我想在一个页面上显示6篇特色文章和6篇非特色文章,因此创建了2个WP_查询循环,这两个循环都有单独的参数。虽然特色和非特色的分离是可行的,但页面总共只显示了6篇文章,我不知道如何解决这个问题

我的代码:

        <?php
            $args1 = array(
            post_type       => 'fairs',
            posts_per_page  =>  -1,
            showposts       => 6 ,
            meta_key        => 'start',
            orderby         => 'meta_value_num',
            order           => 'ASC'

            );
            $new1 = new WP_Query($args1);?>
            <?php while ($new1->have_posts()) : $new1->the_post();?>
                <?php $field = get_field( 'wa_feature', get_the_ID() ); if ( true == $field ):?>   
                    Featured Posts
                <?php endif;?>
            <?php endwhile;  wp_reset_postdata();?>

        <?php
            $args2 = array(
            post_type       => 'fairs',
            posts_per_page  =>  -1,
            showposts       => 6 ,
            meta_key        => 'start',
            orderby         => 'meta_value_num',
            order           => 'ASC'

            );
            $new2 = new WP_Query($args2);?>
            <?php while ($new2->have_posts()) : $new2->the_post();?>
                <?php $field = get_field( 'wa_feature', get_the_ID() ); if ( false == $field ):?>   
                    Non-featured Posts
               <?php endif;?>
            <?php endwhile;?>

特色帖子
非专题文章

应该引用您的参数:

array(
    'post_type'       => 'fairs',
    'posts_per_page'  => 6,
    'meta_key'        => 'start',
    'orderby'         => 'meta_value_num',
    'order'           => 'ASC'
);
数组键可以是整数,也可以是字符串。阅读更多的文章


在这种情况下,您也应该只在每页使用
posts\u
(并删除
showposts
,这是正确的)。

您的
WP\u查询不正确。您执行两个完全相同的查询
($args1=$args2)
,并期望从中得到不同的结果。此外,您还将
meta_key
放入查询参数中,但没有说明比较的内容和方式

根据您选择的类型,如果您的元字段名为
featured
,并且查询可以是:

args1 = array(
  'post_type'       => 'fairs',
  'posts_per_page'  =>  -1,
  'meta_key'        => 'featured',
  'meta_value'      => true //or 1, or 'yes` depending of ACF type you have choose 
  'orderby'         => 'meta_value_num',
  'order'           => 'ASC'
);

args1 = array(
  'post_type'       => 'fairs',
  'posts_per_page'  =>  -1,
  'meta_key'        => 'featured',
  'meta_value'      => false//or 0, or 'no` 
  'orderby'         => 'meta_value_num',
  'order'           => 'ASC'
);
或者,如果此
特色
字段仅存在于
特色
帖子中,则

args1 = array(
  'post_type'       => 'fairs',
  'posts_per_page'  =>  -1,
  'orderby'         => 'meta_value_num',
  'order'           => 'ASC'.
  'meta_query' => array(
     array(
        'key'     => 'featured',
        'compare' => 'EXISTS',
     ),
   )
);

args1 = array(
  'post_type'       => 'fairs',
  'posts_per_page'  =>  -1,
  'orderby'         => 'meta_value_num',
  'order'           => 'ASC'.
  'meta_query' => array(
     array(
        'key'     => 'featured',
        'compare' => 'NOT EXISTS',
     ),
   )
);

检查或是否正确输入tax。

结果或查询不是问题所在,这方面的工作正常。我遇到的问题是,尽管有两个查询,每个查询应该显示6个结果,但我得到了两个查询,它们之间显示了6个结果,我不应该这么快就解雇你!!从外观中删除if语句并在数组中添加元查询已经奏效!!谢谢