我创建了一个自定义搜索过滤器来按状态显示事件并自定义代码,但它会在选择状态时显示任何结果。代码如下:
add_filter( 'event_manager_get_listings', 'filter_by_state_field_query_args', 10, 2 );
function filter_by_state_field_query_args( $query_args, $args ) {
if ( isset( $_POST['form_data'] ) ) {
parse_str( $_POST['form_data'], $form_data );
// If this is set, we are filtering by state
if ( ! empty( $form_data['filter_by_state'] ) ) {
$event_state = sanitize_text_field( $form_data['filter_by_state'] );
$query_args['meta_query'][] = array(
'key' => '_event_state',
'value' => $event_state,
);
}
}
return $query_args;
}