WP_Query 元查询不返回任何内容

问题描述

我正在尝试使用 Meta_query 过滤 WP 查询内容我有一种感觉,这与保存的值是序列化数组有关,但我在网上尝试了一些修复,但无济于事。应该在代码注释中包含您需要的所有信息。

    $user_id = get_current_user_id();
    var_dump($user_id); //int(1)

    $assignedZones = get_field('author_assigned_zones','user_'.$user_id);
    var_dump($assignedZones); //array(1) { [0]=> object(WP_Term)#17784 (10) { ["term_id"]=> int(9) ["name"]=> string(6) "Zone 2" ["slug"]=> string(6) "zone-2" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(9) ["taxonomy"]=> string(5) "zones" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(0) ["filter"]=> string(3) "raw" } }

    $zoneIDs = array();
    var_dump($zoneIDs); //array(0) { }

    foreach ($assignedZones as $assignedZone ) {
        $zoneIDs[] = $assignedZone->term_id;
    } var_dump($zoneIDs); //array(1) { [0]=> int(9) }

    $hostQuery = new WP_Query(array(
        'post_type' => 'hosts','posts_per_page' => -1,'orderby' => 'title','order' => 'ASC','post_status' => 'publish','Meta_query' => array(
            array(
                'key' => 'host_zones',//DB Value = a:3:{i:0;s:1:"9";i:1;s:2:"12";i:2;s:2:"13";}
                'value' => $zoneIDs,//array(1) { [0]=> int(9) }
                'compare' => 'IN'
            )
        )
    ));

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)