问题描述
我正在尝试使用 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 (将#修改为@)