Plus de 24 raisons pour lesquelles le code ne fonctionne pas et comment y remédier
Publié: 2013-08-21Je teste toujours le code en premier pour m'assurer qu'il fonctionne, mais il y a de nombreuses raisons pour lesquelles il ne fonctionne pas parfois pour moi-même et pour les autres personnes qui l'utilisent, même s'il n'est pas cassé.
Voici une liste de certaines des raisons pour lesquelles le code ne fonctionne pas :
- Vous avez oublié de vider le cache du navigateur : vous pouvez apporter des modifications CSS et penser qu'elles ne fonctionnent pas alors qu'elles fonctionnent réellement, car le navigateur affiche en fait une ancienne version des pages qui incluent l'ancien code. Effacez le cache de votre navigateur pour vous en assurer.
- N'a pas vidé le cache du serveur : certains fournisseurs d'hébergement géré utilisent une mise en cache côté serveur très agressive. Je sais que WPEngine le fait, ce qui peut prendre des jours avant que les modifications CSS n'apparaissent sur votre site. Vous pouvez faire ces changements qui fonctionnent vraiment mais pensez qu'ils ne fonctionnent pas parce que vous ne pouvez pas voir les changements sur le front-end. Effacez le cache de votre serveur et testez le code localement en utilisant la mise en cache côté serveur ou un plugin de mise en cache.
- Code CSS collé dans le fichier de fonctions : le code CSS ne fonctionne pas correctement dans le fichier de fonctions qui inclut une balise PHP d'ouverture signifiant qu'il est lu par un processeur PHP installé sur le serveur.
- PHP collé dans la feuille de style : Le code PHP ne fonctionne pas dans un fichier .css qui est lu par un navigateur et non par un processeur PHP installé sur le serveur.
- PHP ou CSS collés dans les scripts d'en-tête et de pied de page : les thèmes qui incluent une zone pour les scripts d'en-tête et de pied de page facilitent l'ajout de Javascript pour le suivi de Google Analytics et les scripts de chat en direct, et non les scripts PHP.
- Copiez-le à partir d'une page Web et collez-le dans l'éditeur de thème : erreur très courante qui peut faire tourner les apostrophes, entraînant l'écran blanc de la mort qui casse votre site. Copiez toujours le code brut et collez-le à la fin du fichier à l'aide d'un éditeur de texte comme Notepad++.
- N'a pas copié tout le code : si vous copiez un bloc de code CSS qui n'inclut pas la classe ou qui manque une parenthèse fermante, le code ne fonctionnera pas. Ainsi, vous pouvez penser que le code n'est pas geed lorsque le seul problème est que vous avez laissé une parenthèse ou un point-virgule derrière.
- N'a pas collé tout le code : Identique à ci-dessus et arrive parfois.
- Utilisez les nouveaux crochets lorsque votre thème utilise les anciens : l' utilisation de code qui inclut des crochets de boucle pour les sites exécutant toujours l'ancien balisage XHTML sur les nouveaux sites ne fonctionne pas. Le code fonctionnera sur les sites plus anciens, il n'est donc pas cassé, mais il ne fonctionnera pas sur les thèmes enfants activés par HTML 5.
- Utilisez les anciens crochets lorsque votre thème utilise les nouveaux : comme ci-dessus
- Utilisation d'un ancien navigateur qui ne prend pas en charge les classes dans le code : Certains navigateurs plus anciens ne prennent pas en charge certaines classes CSS, ce qui signifie que le code ne fera pas ce pour quoi il a été écrit. Vous pouvez installer plusieurs navigateurs pour tester le code ou utiliser des outils en ligne gratuits pour la compatibilité entre les navigateurs.
- Utilisation de la dernière version du navigateur qui ne prend pas encore en charge les classes dans le code : certains nouveaux navigateurs ne prennent pas en charge certaines classes CSS, ce qui signifie que le code fonctionnera sur les anciens navigateurs, mais vous pensez peut-être que ce n'est pas le cas car vous utilisez une version bêta version ou la dernière version qui vient juste d'être publiée.
- Copiez la balise PHP d'ouverture et collez-la dans votre fichier de fonctions : les extraits de code PHP incluent généralement une balise PHP d'ouverture, mais celle-ci ne doit pas être collée dans un fichier de fonctions qui inclut déjà cette balise. Vous recevrez un message d'erreur et casserez votre site si cela se produit, ce qui est facile à réparer simplement en supprimant la balise. C'est la raison pour laquelle il est toujours préférable d'utiliser un éditeur de texte pour coller le code dans le fichier réel plutôt que d'utiliser l'éditeur WordPress. Si vous ajoutez le code au fichier réel, vous pouvez facilement le rouvrir et supprimer rapidement le problème, ce qui n'est pas le cas si vous utilisez l'éditeur de thème car vous serez exclu du site si vous subissez une erreur de programmation.
- Copiez et collez les deux solutions plutôt que d'en choisir une : de nombreux messages et forums incluent plusieurs extraits de code qui résolvent les mêmes problèmes. Si vous collez 2 extraits de code qui font la même chose, cela peut casser votre site et vous pouvez penser que le code est cassé, ce qui n'est pas le cas. N'utilisez qu'un seul extrait à la fois.
- Code de fonctions copié dans un fichier de modèle : Parfois, vous trouverez du code PHP qui a été écrit pour être utilisé dans un fichier de modèle plutôt que dans un fichier de fonctions de thèmes enfants. Le code de modèle ne fonctionne pas toujours dans un fichier de fonctions car il est généralement enveloppé dans des balises d'ouverture et de fermeture PHP. Les fonctions personnalisées ne signifient généralement pas qu'elles ne fonctionneront généralement pas dans un fichier te,plate en fonction du thème. Assurez-vous simplement de savoir exactement dans quel fichier coller le code, sinon vous risquez de recevoir une erreur pensant que le code ne fonctionne pas lorsqu'il fonctionne.
- Vous avez installé un plugin qui remplace le code : certains plugins remplacent le code PHP, ce qui signifie que le code avec des filtres et des crochets peut ne pas fonctionner. Un exemple de ceci est le plugin Genesis Simple Edits. Si vous avez installé ce plugin qui vous permet de personnaliser les informations de publication et la méta de publication, l'ajout de code PHP pour faire la même chose qui inclut une méta de publication ou un filtre d'informations de publication ne fonctionnera pas. Vous pouvez penser que le code ne fonctionne pas alors qu'en fait c'est le cas et tout ce que vous avez à faire pour résoudre le problème et faire fonctionner le code est de désactiver le plugin.
- Utilisation du code PHP pour modifier la mise en page de manière conditionnelle Ce code ne fonctionnera pas sur certains thèmes utilisant bbPress qui utilisent également le plugin Genesis bbPress connect. Ce plugin s'accroche aux filtres Genesis, ce qui est la même chose que le code PHP fait pour modifier les mises en page de manière conditionnelle afin qu'il ne fonctionne pas car il chevauche le code.
- Utilisation de classes CSS XHTML sur un thème enfant HTML 5 – Exemple : #content ne fonctionnera pas sur un thème enfant HTML 5 qui utilise .entry-content.
- Utilisation du balisage HTML sur un thème XHTML - .site-header ne fonctionnera pas sur un site exécutant le balisage XHTML, vous devez donc utiliser #header.
- Code du modèle de page d'accueil – Tout code de votre modèle de page d'accueil ne fonctionne que lorsque vous utilisez les paramètres de lecture par défaut. Si vous modifiez ces paramètres et sélectionnez une page statique comme page d'accueil, le code de votre modèle de page d'accueil ne fonctionnera pas.
- CSS ajouté après les requêtes multimédias - Il est préférable d'ajouter un CSS personnalisé avant vos requêtes multimédias, sinon cela risque de ne pas fonctionner.
- CSS ajouté pour modifier la classe déjà stylée - Vous avez ajouté du CSS à la fin de votre feuille de style pour modifier le style d'un élément existant qui est déjà stylé par défaut. Un exemple de ceci est lorsque vous modifiez une zone de widget pour utiliser le widget de publications en vedette Genesis lorsqu'il est stylisé par défaut pour utiliser le widget de page en vedette. Votre CSS peut être différent mais vous utilisez une classe différente. Ce que vous devez faire est de modifier le CSS par défaut afin qu'il stylise plus longtemps le widget de page en vedette et ne stylise que le widget de publication en vedette.
- Code de modèle de page d'accueil - Tout code dans votre fichier de modèle home.php ne fonctionnera que sur la page d'accueil lorsque vous utilisez les paramètres de lecture par défaut. Si vous utilisez une page statique comme page d'accueil, le code ne fonctionnera que sur votre page de messages (comme une page de blog) si vous n'avez pas sélectionné le modèle de page de blog dans le menu déroulant. (S'applique uniquement aux thèmes incluant un modèle de page de blog).
- Un CSS modifié de manière incorrecte crée une autre rupture CSS - Un membre a installé du code pour créer une mise en page personnalisée, mais cela n'a pas fonctionné car le CSS permettant de modifier la largeur du contenu ne fonctionnait pas. Ils ont découvert que d'autres CSS qu'ils avaient ajoutés précédemment à l'aide de !important empêchaient le nouveau CSS de fonctionner.
Le code ci-dessus ne fonctionnera PAS si vous avez également activé le plug-in Genesis Simple Edits car il remplace le filtre d'informations de publication.
C'est tout ce à quoi je peux penser pour le moment, mais je suis sûr qu'il y a beaucoup d'autres raisons pour lesquelles le code ne fonctionne pas (mais fonctionne vraiment) qui pourraient être ajoutées à cette liste.
Articles Similaires
- 5 points importants à considérer avant de republier du code