top
/** * Filtro de segurança: força o SQL final a respeitar o dia único estrito. * Isso garante que, mesmo que o TEC V2 tente injetar a lógica de * "eventos em andamento" em outro hook, o SQL final só retornará eventos * cujo _EventStartDate esteja dentro das 24h do dia selecionado. */ add_filter( 'posts_clauses', 'tec_v2_forcar_dia_unico_sql', 999, 2 ); function tec_v2_forcar_dia_unico_sql( $clauses, $query ) { // Só aplica na query de eventos do TEC (front-end e AJAX) if ( is_admin() && ! wp_doing_ajax() ) return $clauses; if ( is_singular( 'tribe_events' ) ) return $clauses; $post_type = $query->get('post_type'); if ( empty($post_type) || $post_type !== 'tribe_events' ) { return $clauses; } // Detectar data alvo (barra nativa ou REST/AJAX) $data_alvo = ''; if ( !empty( $_GET['tribe-bar-date'] ) ) { $data_alvo = sanitize_text_field( $_GET['tribe-bar-date'] ); } elseif ( !empty( $_GET['event_date'] ) ) { $data_alvo = sanitize_text_field( $_GET['event_date'] ); } if ( empty($data_alvo) || !preg_match('/^(\d{4}-\d{2}-\d{2})/', $data_alvo, $matches) ) { return $clauses; } global $wpdb; $data_limpa = $matches[1]; $inicio = $data_limpa . ' 00:00:00'; $fim = $data_limpa . ' 23:59:59'; // Subquery de segurança: garante que o post tenha _EventStartDate no dia exato $clauses['where'] .= $wpdb->prepare( " AND {$wpdb->posts}.ID IN ( SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key = '_EventStartDate' AND meta_value BETWEEN %s AND %s ) ", $inicio, $fim ); return $clauses; }
Endereço
Rua Senador Carlos Teixeira de Carvalho, 564, Aclimação, São Paulo - SP, CEP: 01535-010