Сценарий:
- У меня есть родительская форма, которая включает одну или несколько вложенных форм.
- Вложенные формы хранятся как мета-записи в записи родительской формы.
- Когда я ищу в GravityView, результаты ограничиваются полями родительской формы, и он не выполняет поиск внутри записей вложенной формы.
Я попытался изменить поисковый запрос GravityView, используя следующий код:
Код: Выделить всё
add_filter('gravityview/search/query', 'search_nested_form_entries', 10, 2);
function search_nested_form_entries( $search_criteria, $form_id ) {
// Meta query to search through nested form entry meta
$meta_query = array(
'relation' => 'OR',
array(
'key' => "input_2_1",
'value' => $search_criteria['search_value'],
'compare' => 'LIKE',
),
);
if( isset( $search_criteria['field_filters'] ) ) {
$search_criteria['field_filters']['meta_query'] = $meta_query;
} else {
$search_criteria['field_filters'] = array( 'meta_query' => $meta_query );
}
return $search_criteria;
}
- Даже после добавления пользовательского кода для изменения поискового запроса , GravityView по-прежнему не выполняет поиск внутри записей вложенных форм.
- Результаты поиска включают только поля родительской формы. Я убедился, что используется правильный идентификатор поля для вложенной формы.
Версия WordPress: 6.6.2
Версия Gravity Forms: 2.8.17
Версия GravityView: 2.28.0
Вложенные перки Gravity Perks Версия надстройки форм: 1.1.32
Что мне нужно: Я хочу включить поиск по вложенным записям форм в GravityView. Есть ли способ расширить функциональность поиска GravityView, включив в нее поля из вложенных форм? Если да, то как этого можно достичь?
Я проверил таблицу wp_gf_entry_meta Gravity Forms и обнаружил, что записи вложенных форм хранятся как сериализованные данные. Как правильно изменить запрос для поиска по данным ввода вложенной формы?
Любая помощь или предложения о том, как это сделать, будем очень признательны!
Подробнее здесь: https://stackoverflow.com/questions/790 ... vity-forms