Québec, Canada
★Nouveau — bouton « Importer SEAO → Opportunités WP » (section verte en haut)
Lit la table APPELS_OFFRES (source externe SEAO)
Mappe les champs vers la table interne wp_opportunites
Appelle ensuite sync_from_sql() pour créer/mettre à jour les cpt_opportunite
Idempotent : les opportunités déjà importées sont mises à jour, pas dupliquées (clé SEAO_{id_appel})
Remis — section « Synchronisation SQL → WordPress » avec les 6 boutons CPT, qui avait disparu du HTML.
Bonus — tableau d’état : les lignes où SQL ≠ WP publiés sont surlignées en jaune avec un ⚠️. Une ligne bonus montre le compte de wp_opportunites (table de transit interne du plugin).
Nouveau — bouton « Importer SEAO → Opportunités WP » (section verte en haut)
Lit la table APPELS_OFFRES (source externe SEAO)
Mappe les champs vers la table interne wp_opportunites
Appelle ensuite sync_from_sql() pour créer/mettre à jour les cpt_opportunite
Idempotent : les opportunités déjà importées sont mises à jour, pas dupliquées (clé SEAO_{id_appel})
Remis — section « Synchronisation SQL → WordPress » avec les 6 boutons CPT, qui avait disparu du HTML.
Bonus — tableau d’état : les lignes où SQL ≠ WP publiés sont surlignées en jaune avec un ⚠️. Une ligne bonus montre le compte de wp_opportunites (table de transit interne du plugin).
