首页 > 解决方案 > WordPress 查询以获取 ACF 字段的正确计数?

问题描述

当前帖子的首次提交字段(acf 字段)为空。
所以,查询应该显示 0,但它显示 1。
我尝试了以下代码,它们都显示 1。
请告诉我如何获得正确的计数 0?

    $posts = array(
    'author'            => get_current_user_id(),
    'posts_per_page'    => -1,
    'post_title'        => get_the_title(),
    'post_type'         => 'infosubmission',
    'meta_query'        => array(
            array(
            'key'       => 'firstsubmission',
            'value'     => 'done'
        )
     )
  );

$post_b = new WP_Query( $posts );
$the_count = count($post_b); 
echo 'COUNT:' .$the_count;

$posts = get_posts(array(
    'author'            => get_current_user_id(),
    'posts_per_page'    => -1,
    'post_title'        => get_the_title(),
    'post_type'         => 'infosubmission',
    'meta_key'          => 'firstsubmission',
    'meta_value'        => 'done'
));

$the_query = new WP_Query( $posts );
$the_count = count($the_query); 
echo 'COUNT:' .$the_count;

$infopost = [
    'author'         => get_current_user_id(),
    'post_type'      => 'infosubmission',
    'posts_per_page' => -1, 
    'post_title'     => get_the_title(),
    'firstsubmission' => 'done'
];

$info_posts = new WP_Query($infopost);
$info_count = count($info_posts);   
echo 'COUNT:' .$info_count;

在此处输入图像描述
谢谢你。

标签: phpwordpressadvanced-custom-fieldsphpquery

解决方案


/* please replace below snippet in your code */

$posts = get_posts(array(
    'author'            => get_current_user_id(),
    'posts_per_page'    => -1,
    'post_title'        => get_the_title(),
    'post_type'         => 'infosubmission',
    'meta_key'          => 'firstsubmission',
    'meta_value'        => 'done',
    'meta_compare'   => '=' 

));

推荐阅读