web-dev-qa-db-fra.com

Commentaire intercepter une erreur 404

J'aimerais intercepter les erreurs 404 et faire certaines choses avant d'afficher la page d'erreur 404.

Comment peut-on intercepter l'erreur 404?

4
Aerendir

Comme mentionné dans un commentaire, template_redirect serait un point d'ancrage approprié pour intercepter un 404 avant le chargement du modèle.

function wpd_do_stuff_on_404(){
    if( is_404() ){
        // do stuff
    }
}
add_action( 'template_redirect', 'wpd_do_stuff_on_404' );

Reportez-vous à Référence d’action pour l’ordre général des actions sur le front-end. La requête principale s'exécute entre les actions posts_selection et wp. Vous pouvez donc déterminer au plus tôt qu'une requête est une requête 404. Le modèle est ensuite chargé après le template_redirect. Il est donc trop tard pour définir les en-têtes après ce point.

13
Milo