Tag : wordpress-error

Faire une page d’erreur MySQL personnalisée dans wordpress

Comme vous avez pu le remarquer il m’arrive (fréquemment) d’avoir quelques problèmes avec le serveur de base de données de ce blog… Cela n’est pas apache qui plante mais sa consommation excessive de mémoire qui empêche les communications avec le serveur MySQL du blog, rendant inaccessible 2803.

Lorsque tout est planté vous voyez ce genre de message (différent de celui d’une page 404) :

wordpress error

C’est pas très glamour comme message et surtout pas tellement professionnel… A force de recherche sur Internet je suis tombé sur un hack de wordpress très pratique qui en plus d’afficher une page d’erreur personnalisé permet de vous envoyer un email à chaque fois que la base de données est inaccessible.

Voici comment procéder pour installer cette modification :

1- Dans le fichier wp-db.php situé dans le dossier wp-includes, il faut rajouter après la ligne 367 (pour wordpress 2.13) :

function bail($message) { // Just wraps errors in a nice header and footer

Ces quelques lignes de code en modifiant bien entendu l’adresse de votre thème ainsi que l’email qui recevra le message d’erreur :

/* custom error page hack
shows a custom error page and emails error instead of
showing the default wordpress database error page */
include(‘wp-content/themes/themename/dbase-error.php’);
$error = ( !$this->show_errors ) ?  » : $this->show_errors ;
mail(‘admin@domain.com‘, ‘WordPress Error’, $error);
die;
/* end custom error page hack */

2- Ensuite une fois le fichier modifié et uploader sur votre serveur il faut faire sa page d’erreur personnalisée, pour la mienne j’ai adapté le code de 5ThirtyOne, pour ceux qui veulent le fichier en zip il est ici.

Il faut donc copier le code, modifier le texte à votre convenance et ensuite enregistrer ce fichier avec le nom utilisé dans le point 1 cad : dbase-error.php et puis l’uploader dans le folder « themes » de votre installation wordpress…

3- Le résultat ressemblera à cela :

wordpress error

En espérant que vous ne le verrez pas trop souvent sur 2803…