Gestion des erreurs dans WordPress

15 février 2010 Pas (encore) de commentaires
Attention cet article est réservé aux développeurs à cheveux longs, lunettes, portant des T Shirts I love Mozilla et aimant WordPress. Autant dire une « niche ». Je demanderai toutefois aux personnes sensibles, aux jeunes enfants et aux femmes enceintes de ne pas lire la suite de cet article. Sans leur être fatale, la lecture de cet article pourrait leur occasionner certains troubles visuels et gastriques. En gros, si vous n’êtes pas développeur vous allez vous ennuyer ferme.

Utilisation de l’API de WordPress pour des trucs pas catholiques

Il peut arriver  à certains d’entre vous d’utiliser l’Api  de WordPress pour réaliser des choses un peu plus complexes que du simple affichage. Vous souhaitez par exemple interroger un fichier xml distant en fonction de telle ou telle condition (par exemple – je dis ça comme ça au hasard, pas parce que c’est le plugin sur lequel je travaille que j’ai installé ici et que j’espère releaser sur wordpress extend – pour afficher vos bookmarks delicious en fonction des tags associés à un article). WordPress n’offrant pas en standard ce genre de fonctionnalités, pas le choix, il vous faut mettre les mains dans le cambouis.

Evidemment au cours du long voyage que vous allez entreprendre pour réaliser votre fonctionnalité, vous allez forcément tomber sur des erreurs avant d’arriver à votre but. Et les erreus, pour que ça marche, il faut les corriger. Pour cela, WordPress met à notre disposition une classe très pratique pour ça : WP_Error.

La classe WP_Error pour gérer les erreurs

La classe WP_Error est instanciée par défaut dès lors que vous utilisez une fonction de l’API de WordPress. Ainsi, pour avoir un affichage optimal de vos erreurs, il vous suffit de ranger le résultat d’un appel à une fonction WordPress dans une variable et d’utiliser la fonction is_error(). is_error() vérifie si la variable qu’on lui passe est une erreur WordPress et si oui, is_error() peut vous renvoyer les détails de l’erreur, comme le message d’erreur WordPress standard :

if(is_wp_error($feed)) {
$error_string = $feed->get_error_message();
echo ' <div id="message"> ' . $error_string . ' </div> ';
}

WP_Error est utile pour les erreurs propres à l’API de WordPress, mais vous pouvez également étendre cette classe pour vos propres besoins. Pour plus d’infos là-dessus, je vous invite à lire Error Management for WordPress Plugins chez Weblogtool collection.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.