Я пишу пользовательскую конечную точку для WP API, чтобы получать сообщения из Wordpress, которые, например, из «real_estate» post_type и для «5 или более» лиц.Добавление ACF в CUSTOM wp api конечные точки
Я построил новую пользовательскую конечную точку:
// permite que meta_key e meta_value
// sejam filtrados pela api
function filtros($valid_vars) {
$valid_vars = array_merge(
$valid_vars,
array(
'meta_key',
'meta_value'));
return $valid_vars;
}
add_filter('rest_query_vars', 'filtros');
// funcção que retorna posts do autor
function busca($data) {
$posts = get_posts(array(
'post_type' => 'imoveis',
'posts_per_page' => '1000',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'transacao',
'value' => $data['tipo']
),
array(
'key' => 'quartos',
'value' => $data['quartos'],
'compare' => '>'
)
)
));
if (empty($posts)) {
return new WP_Error('sem resultados', 'quartos: ' . $data['quartos'] . ' transacao: '. $data['tipo'], array('status' => 404));
}
return $posts;
}
// cria o endpoint que ira receber a função acima
add_action('rest_api_init', function() {
register_rest_route('busca/v2', '/resultado/(?P<tipo>.+)/(?P<quartos>\d+)',
array(
'methods' => 'GET',
'callback' => 'busca',
)
);
});
Поиск в порядке, он работает, я фильтрация по типу сделки (продажа или аренда) и количество комнат в каждой недвижимости.
Но в моем ответе JSON отсутствует много полей, включая ACF. EX: {
"ИД": 149, "post_author": "2", "POST_DATE": "2016-03-03 23:53:39", "post_date_gmt": "2016-03- 03 23:53:39" , "POST_CONTENT": "", "post_title": "Oportunidade делать Ano", "post_excerpt": "", "post_status": "опубликовать", "comment_status":» закрыто», "ping_status": "закрыто", "post_password": "", "POST_NAME": "oportunidade-ду-ано", "to_ping": "", "свистел": "", "post_modified": "2016-03-03 23:53:39", "post_modified_gmt": "2016-03-03 23:53:39", "post_content_filtered": "", "post_parent": 0, "guid": "http://raphaelk.co/api/? post_type = Imóveis & р = 149" , "menu_order": 0, "post_type": "Imóveis", "post_mime_type": "", "COMMENT_COUNT": "0", "фильтр": "сырой" },
Ребята, вы знаете, как я могу изменить этот ответ? И включить ACF в это.
Спасибо
Это сработало! Большое спасибо! –
@RaphaelKoszalka Счастливые помочь! Не забудьте принять ответ. ;) – qbeauperin
Извините, я забыл сделать это в первый раз. Выполнено, ответ принят! –