add_action('rest_api_init', function () { register_rest_route('tkd/v1', '/ranking', array( 'methods' => 'GET', 'callback' => function ($request) { global $wpdb; $table = "rankings"; $yil = $request->get_param('yil'); $ay = $request->get_param('ay'); $kategori = $request->get_param('kategori'); $alt = $request->get_param('alt_kategori'); $cinsiyet = $request->get_param('cinsiyet'); $siklet = $request->get_param('siklet'); $query = "SELECT * FROM $table WHERE 1=1"; $params = []; if (!empty($yil)) { $query .= " AND yil = %d"; $params[] = $yil; } if (!empty($ay)) { $query .= " AND ay = %d"; $params[] = $ay; } if (!empty($kategori)) { $query .= " AND kategori = %s"; $params[] = $kategori; } if (!empty($alt)) { $query .= " AND alt_kategori = %s"; $params[] = $alt; } if (!empty($cinsiyet)) { // FIX: frontend women → DB female if ($cinsiyet === "women") { $cinsiyet = "female"; } $query .= " AND cinsiyet = %s"; $params[] = $cinsiyet; } if (!empty($siklet)) { $query .= " AND siklet = %s"; $params[] = $siklet; } $query .= " ORDER BY sira ASC"; // 🔥 KRİTİK FIX if (!empty($params)) { $sql = $wpdb->prepare($query, ...$params); } else { $sql = $query; } $results = $wpdb->get_results($sql); return rest_ensure_response($results); } )); });