Comparez ces deux parcours pour une même notice d’erreur affichée dans l’administration : dans le premier, le support ouvre Sentry, cherche l’incident par mot-clé approximatif, hésite entre trois résultats similaires ; dans le second, il clique un lien et tombe directement sur l’événement concerné, avec sa stack trace complète et son contexte utilisateur. La différence tient à une seule information : l’identifiant d’événement Sentry, capturé au moment de l’erreur et transmis jusqu’à l’affichage de la notice WordPress.
La plupart des intégrations Sentry pour WordPress se contentent de capturer l’erreur et de l’envoyer, sans jamais renvoyer cet identifiant vers l’interface d’administration. C’est pourtant une donnée disponible immédiatement après l’appel de capture.
Récupérer l’identifiant d’événement au moment de la capture
Le SDK PHP de Sentry retourne l’identifiant généré dès l’appel à captureException. Il suffit de le stocker temporairement pour l’associer à la notice qui sera affichée juste après :
use function Sentry\captureException;
try {
traiter_commande_complexe( $commande_id );
} catch ( Throwable $erreur ) {
$event_id = captureException( $erreur );
set_transient( 'derniere_erreur_sentry_' . get_current_user_id(), $event_id, 300 );
}
Construire le lien vers l’incident

L’URL d’un événement Sentry suit un format prévisible, composé de l’organisation, du projet et de l’identifiant d’événement. Une fois ces trois éléments réunis, la notice d’administration peut afficher un lien cliquable :
add_action( 'admin_notices', 'afficher_notice_avec_lien_sentry' );
function afficher_notice_avec_lien_sentry() {
$event_id = get_transient( 'derniere_erreur_sentry_' . get_current_user_id() );
if ( ! $event_id ) {
return;
}
$url_sentry = sprintf(
'https://sentry.io/organizations/%s/issues/?query=id%%3A%s&project;=%s',
SENTRY_ORG_SLUG,
$event_id,
SENTRY_PROJECT_ID
);
echo '<div class="notice notice-error">';
echo '<p>Une erreur est survenue lors du traitement de la commande. ';
echo '<a href="' . esc_url( $url_sentry ) . '" target="_blank">Voir l\'incident dans Sentry</a></p>';
echo '</div>';
delete_transient( 'derniere_erreur_sentry_' . get_current_user_id() );
}
Réserver ce lien aux rôles techniques
Un rédacteur ou un gestionnaire de boutique n’a aucune utilité à consulter Sentry, et l’exposition de ce lien à tous les rôles ajoute de la confusion sans bénéfice. Une vérification simple sur la capacité manage_options, ou sur un rôle personnalisé « technique » si le site en dispose, filtre l’affichage :
- Rôle administrateur ou développeur : lien visible
- Autres rôles : message générique sans détail technique ni lien externe
Attention à la fenêtre de validité du transient
Un délai de cinq minutes suffit largement dans la plupart des cas, l’utilisateur consultant la notice presque immédiatement après l’action qui a déclenché l’erreur. Un délai trop long risquerait d’afficher un lien vers une erreur ancienne si un autre incident survient entre-temps sans que le transient ait été rafraîchi.
Étendre le principe aux erreurs de tâche planifiée
Le même mécanisme s’applique aux erreurs survenant dans un wp_cron, en écrivant l’identifiant d’événement dans une option persistante consultée par un widget de tableau de bord dédié aux tâches de fond, plutôt que dans un transient lié à une session utilisateur qui n’existe pas dans ce contexte.
Un lien qui économise trois clics à chaque incident finit, sur une année entière d’exploitation, par représenter plusieurs heures rendues à l’équipe support.
Documentation officielle du SDK
Le SDK PHP de Sentry est documenté sur son dépôt GitHub officiel, avec le détail des fonctions de capture et des options de configuration disponibles pour un projet WordPress hébergé en interne ou sur une infrastructure mutualisée.
En résumé
Transmettre l’identifiant d’événement Sentry jusqu’à la notice d’administration transforme un message d’erreur générique en point d’entrée direct vers le diagnostic complet. La mise en place tient en une quinzaine de lignes de code, réparties entre la capture de l’identifiant et la construction du lien, pour un gain de confort quotidien immédiat côté équipe technique.