You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过ACF字段筛选元查询?现有代码故障排查求助

代码错误分析与修正

存在的问题:

  • 冗余代码:重复声明了两次$current_company相关变量,属于无效重复,需删除其中一份。
  • 第一个查询的meta_query错误:
    • meta_query要求是二维数组格式,你直接写了单一层数组;
    • 关联字段author_company存储的是公司的ID值,你传入的是$current_company对象,应该用$comp_id。
  • 第二个查询的meta_query错误:
    • 同样存在meta_query的二维数组格式问题;
    • 当value传入数组($authors是作者ID集合)时,必须指定'compare' => 'IN',否则无法匹配数组内的任意ID。

修正后的代码:

<?php
    $current_company = $post;
    $comp_id   = $current_company->ID; 
    $comp_name = $current_company->post_title;
?>

<?php
    // 获取关联该公司的所有作者ID
    $args = array(
        'posts_per_page' => -1, // 替代numberposts,更符合WP规范
        'fields'         => 'ids',
        'post_type'      => 'partner_authors',
        'meta_query'     => array(
            array(
                'key'   => 'author_company',
                'value' => $comp_id
            )
        )
    );
    
    $authors = get_posts( $args );
    
    // 获取关联这些作者的文章
    $post_args = array(
        'posts_per_page' => 3,
        'fields'         => 'ids',
        'post_type'      => 'post',
        'meta_query'     => array(
            array(
                'key'     => 'post_author',
                'value'   => $authors,
                'compare' => 'IN' // 必须添加,匹配数组中的任意ID
            )
        )
    );

    $partner_posts = get_posts( $post_args );
    $count = 0;
?>

内容的提问来源于stack exchange,提问作者Madison Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 09:35:22