Usando a v2 da API REST, estou querendo consultar algumas postagens por várias meta chaves. Com v1 eu era capaz de formatar o URL como &filter[meta_value][month]=12&[meta_value][year]=2015
e funcionou (depois de expor os valores meta para a API).
Agora, com a v2, só consigo fazer isso funcionar usando os métodos listados neste segmento do GitHub: https://github.com/WP-API/WP-API/issues/1599#issuecomment-161166805
Basicamente, foram adicionados os meta-campos usando o rest_query_vars
filtro, como:
add_filter( 'rest_query_vars', 'flux_allow_meta_query' );
function flux_allow_meta_query( $valid_vars )
{
$valid_vars = array_merge( $valid_vars, array( 'meta_key', 'meta_value', 'meta_compare' ) );
return $valid_vars;
}
Com isso, posso filtrar por uma meta-chave usando um URL como wp-json/wp/v2/posts?filter[meta_key]=test&filter[meta_value]=on
.
No entanto, parece que a única maneira de filtrar várias meta-chaves é escrever um filtro personalizado. Alguém poderia me apontar na direção certa de fazer isso?
Sei que esta questão foi resolvida, mas este plug-in saiu e resolveu meu problema https://wordpress.org/plugins/wp-rest-filter/
fonte