web-dev-qa-db-fra.com

Comment WordPress sait-il si une URL n'existe pas?

Le thème WordPress que j’utilise n’est pas fourni avec un gestionnaire d’erreur 404 approprié et j’aimerais en ajouter un au code. J'ai de la difficulté à comprendre comment WordPress détermine si une URL existe sous forme de message, est une requête de recherche ou n'existe pas. J'aimerais savoir où se trouve le code utilisé par WordPress ou comment WordPress le détermine, car je dois l'impliquer dans les fichiers de thème.

1
user35544

Vous n'avez pas besoin d'ajouter quoi que ce soit de spécial en haut de 404.php. WordPress saura utiliser 404.php automatiquement lorsqu'il essaiera d'obtenir un message ou une page et échouera.

Pour créer une page 404 personnalisée pour un thème, la méthode la plus simple consiste à:

  1. Copiez le fichier index.php du thème actuel dans un fichier nommé 404.php.
  2. Modifiez votre nouveau 404.php pour supprimer le code traitant de l’affichage des articles/pages et des commentaires (en gros, supprimez 'The Loop' mais laissez l’en-tête, la structure de la division principale, la barre latérale, le pied de page).
  3. Remplacez la partie supprimée par le code HTML/PHP que vous souhaitez afficher à sa place (404: Désolé, _ ___ est introuvable).

Je recommande vivement de jeter un coup d'œil sur le 404.php fourni avec les thèmes TwentyTwelve, TwentyThirteen (etc.) pour mieux comprendre le fonctionnement de l'erreur WordPress 404. les pages fonctionnent.

Personnellement, je n’ai jamais eu de problème avec WordPress, incapable de dire qu’une URL n’existait pas, mais si vous voulez absolument vous assurer que votre serveur Web renvoie votre code 404.php personnalisé. lorsqu'une page est introuvable, ajoutez la ligne suivante à .htaccess dans le dossier principal où index.php est:

ErrorDocument 404 /index.php?error=404

Modifiez simplement l'URL en conséquence si WordPress est installé dans un sous-répertoire.

J'espère que cela aide un peu. Bonne chance!

3
Jack Bonneman

Pourquoi voulez-vous personnaliser le noyau de la 404?.

Un thème a toujours un fichier 404.php. Vous pouvez faire normalement tout et afficher dans cette page (Obtenez des messages, images, lien, tag ....).

Si vous souhaitez ajouter un hook, essayez ceci: Y a-t-il des hooks qui altèrent la logique 404?

Bonne chance.

0
thienhaxanh2405