按作者字段和元数据的自定义查询

时间:2017-03-31 作者:KingStakh

有一个自定义字段“大小”值为“大”或“小”的CPT,以及自定义无线电字段“性别”的作者。作者可以是“男”或“女”。例如,如果作者是“man”,而归档的“size”是“big”,则需要查询帖子。尝试以下操作:

$args = array(
  \'post_type\' => \'custom_post_type\',
  \'meta_query\' => array(
    array(
        \'key\'     => \'size\',
        \'value\'   => \'big\',
        \'compare\' => \'LIKE\',
    )
  )
);
$query = new WP_Query( $args );
这将显示所有作者的关键字值为“big”的帖子,但如何将关键字值为“gender”的作者添加到此查询中?

2 个回复
SO网友:input

通过添加另一个数组

   $args = array(
      \'post_type\' => \'custom_post_type\',
      \'meta_query\' => array(
        array(
            \'key\'     => \'size\',
            \'value\'   => \'big\',
            \'compare\' => \'LIKE\',
        ),
        array(
            \'key\'     => \'gender\',
            \'value\'   => \'male\',
            ),
      )

);
$query = new WP_Query( $args );

SO网友:Oliver Gehrmann

你需要的是

创建符合您搜索条件的用户列表

    $user_query = get_users( [
        \'fields\'        => \'ID\',
        \'meta_key\'      => \'gender\',
        \'meta_value\'    => \'male\',
    ]);
    echo \'<pre>\'; print_r($user_query); echo \'</pre>\';
创建自定义帖子类型的自定义查询,并在其中指定作者字段:
        $my_custom_query = new WP_Query([
        \'author__in\' => $user_query,
        \'post_type\' => \'custom_post_type\',
        \'meta_query\' => [
            [
                \'key\'     => \'size\',
                \'value\'   => \'big\',
                \'compare\' => \'LIKE\',
            ]
          ],
        ]);
    
    应该是这样的