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?
Wiem, że to pytanie zostało rozwiązane, ale ta wtyczka jest już dostępna i rozwiązała mój problem https://wordpress.org/plugins/wp-rest-filter/
źródło