Korzystając z wersji 2 interfejsu API REST, chcę wysłać zapytanie do niektórych postów za pomocą wielu meta-kluczy. W wersji 1 mogłem sformatować adres URL podobny &filter[meta_value][month]=12&[meta_value][year]=2015
i zadziałało (po udostępnieniu meta wartości w interfejsie API).
Teraz w wersji 2 mogę to uruchomić tylko przy użyciu metod wymienionych w tym wątku GitHub: https://github.com/WP-API/WP-API/issues/1599#issuecomment-161166805
Zasadniczo dodałem pola meta przy użyciu rest_query_vars
filtra, takiego jak:
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;
}
Dzięki temu mogę filtrować według jednego klucza meta, używając adresu URL podobnego do wp-json/wp/v2/posts?filter[meta_key]=test&filter[meta_value]=on
.
Wydaje się jednak, że jedynym sposobem na filtrowanie wielu kluczy meta jest napisanie niestandardowego filtra. Czy ktoś mógłby wskazać mi właściwy kierunek?