我正在尝试使用自定义端点对我的项目中的一种自定义帖子类型进行呼叫。
我正在将动态参数传递给该函数-
// $per_page = $_GET['per_page'];
// $page = $_GET['page'];
$per_page = 18;
$page = 1;
$type = $_GET['type'];
$order = $_GET['order'];
// $houseType = $_GET['houseType'];
$houseType = 'Terreno';
$houseState = $_GET['houseState'];
$houseArea = $_GET['houseArea'];
$housePrice = $_GET['housePrice'];
$houseRooms = $_GET['houseRooms'];
// $houseProp = $_GET['houseProp'];
$houseProp = 'venda';
$meta_query = array();
if( $houseProp ) {
$meta_query[] = array(
'key' => 'tipo_de_operacao',
'value' => $houseProp,
'compare' => '=',
);
}
if ( $houseType ) {
$meta_query[] = array(
'key' => 'tipo_de_imovel',
'value' => $houseType,
'compare' => '=',
);
}
if ( $houseState ) {
$meta_query[] = array(
'key' => 'estado_do_imovel',
'value' => $houseState,
'compare' => '=',
);
}
if ( $houseArea ) {
$meta_query[] = array(
'key' => 'area_bruta',
'value' => $houseArea[0],
'type' => 'NUMERIC',
'compare' => '>'
);
$meta_query[] = array(
'key' => 'area_bruta',
'value' => $houseArea[1],
'type' => 'NUMERIC',
'compare' => '<'
);
}
if ( $housePrice ) {
$meta_query[] = array(
'key' => 'preco',
'value' => $housePrice[0],
'type' => 'NUMERIC',
'compare' => '>'
);
$meta_query[] = array(
'key' => 'preco',
'value' => $housePrice[1],
'type' => 'NUMERIC',
'compare' => '<'
);
}
if ( $houseRooms ) {
$meta_query[] = array(
'key' => 'quartos',
'value' => $houseRooms[0],
'type' => 'NUMERIC',
'compare' => '>'
);
$meta_query[] = array(
'key' => 'quartos',
'value' => $houseRooms[1],
'type' => 'NUMERIC',
'compare' => '<'
);
}
if ( $type == "preco") {
$orderBy = array(
'meta_key' => $type,
'orderby' => 'meta_value_num',
'order' => $order,
);
} else {
$orderBy = array(
'orderby' => array(
'date' => $order,
'menu_order'=> $order,
)
);
}
$args = array_merge($orderBy, array(
'post_type' => 'imoveis',
'posts_per_page' => $per_page,
'paged' => $page,
'meta_query' => $meta_query,
));
// get posts
$posts = get_posts($args);
问题是 $meta_query 不起作用......
如果我只传递 1 个参数 (houseProp),我可以使用 $meta_query[0] 使其工作,但如果我传递更多参数,它不会返回任何内容。
我究竟做错了什么?
编辑:
我能够看到我需要在后端更新我的帖子(通过按下更新按钮)。
我正在创建这样的帖子:
$post_id = wp_insert_post(array(
'post_title' => $house->InfoGeral->SubTipoImovel,
'post_type' => 'imoveis',
'post_content' => $description[0],
'post_status' => 'publish')
);
并像这样填写 ACF 自定义字段:
update_field('field_5d230e2057fa5', $ref, $post_id);
可能是什么错误?