Используя v2 API REST, я хочу запросить некоторые сообщения с помощью нескольких мета-ключей. С v1 я смог отформатировать URL-адрес, &filter[meta_value][month]=12&[meta_value][year]=2015
и это сработало (после предоставления мета-значений API).
Теперь с v2 я могу заставить это работать, только используя методы, перечисленные в этом потоке GitHub: https://github.com/WP-API/WP-API/issues/1599#issuecomment-161166805
По сути, добавлены мета-поля с использованием rest_query_vars
фильтра, например:
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;
}
При этом я могу фильтровать по одному мета-ключу, используя URL-адрес wp-json/wp/v2/posts?filter[meta_key]=test&filter[meta_value]=on
.
Однако, похоже, что единственный способ фильтрации по нескольким мета-ключам - это написать собственный фильтр. Может ли кто-нибудь указать мне правильное направление?
Я знаю, что этот вопрос был решен, но этот плагин вышел и решил мою проблему https://wordpress.org/plugins/wp-rest-filter/
источник