web-dev-qa-db-fra.com

Personnaliser WordPress> Page d'erreur

Existe-t-il un moyen de personnaliser le modèle de page WordPress> error afin que l’utilisateur ne soit pas affiché uniquement avec un écran vide avec du texte?

Je ne parle pas de 404, mais lorsque WordPress affiche une erreur.

Je voudrais styler cette page pour correspondre à mon thème.

5
plumwd

Vous parlez probablement de la fonction wp_die(), qui est la fonction qui produit ces pages d'erreur grises avec une zone de texte blanche.

Pour une solution de plugin, vous pouvez essayer ce plugin , qui dit qu'il fait ce que vous voulez. Pas sûr du support de version cependant - il dit que ça ne marche que jusqu’à la 3.1.4.

Pour une solution programmatique, vous voudrez vous connecter au filtre "wp_die_handler". Alors tu peux faire:

add_filter('wp_die_handler', 'my_die_handler');

En ce qui concerne le code pour la fonction my_die_handler, vous pouvez commencer par examiner le gestionnaire de dé par défaut - la fonction s'appelle _default_wp_die_handler et commence à la ligne 2796 du fichier de base /wp-includes/functions.php . Vous pouvez copier toute la fonction dans votre fichier de plugin (ou le fichier de fonctions de votre thème), le renommer my_die_handler et le personnaliser à partir de là.

7
MathSmath

Vous pouvez configurer un gestionnaire de matrice personnalisé:

add_filter('wp_die_handler', 'get_custom_die_handler' );

function get_custom_die_handler() {
    return 'custom_die_handler';
}

function custom_die_handler( $message, $title="", $args = array() ) {
    echo '<html><body>';
    echo '<h1>Error:</h1>';
    echo $message; /* No escaping, to match the default behaviour */
    echo '</body></html>';
    die();
}

Notez que vous devez créer deux fonctions: à la fois votre gestionnaire de matrices personnalisé et une fonction qui renvoie le nom de votre gestionnaire de matrices personnalisé.

Vous pouvez vous inspirer de _default_wp_die_handler pour savoir ce qu'il faut mettre dans le contenu de custom_die_handler. Vous le trouverez dans wp-includes/functions.php . N'oubliez pas d'appeler die();.

Référence:

1
Flimm