Écrire des thèmes WordPress maintenables Outils

Tout au long de cette série, nous avons parlé d’un certain nombre de pratiques que nous pouvons utiliser dans notre développement de thèmes WordPress, qui nous aideront non seulement à fournir une base cohérente à partir de laquelle nous pourrons construire nos projets existants et futurs, mais également à nous aider. les maintenir après leur libération.

Jusqu'à présent, nous avons couvert:

  1. Répertoires
  2. Conventions de nommage

Avant de plonger dans cet article, je vous recommande de lire les deux premiers pour vous permettre de vous faire une idée de la perspective que nous prenons lorsque nous examinons le développement de thèmes. En plus de ces points, il existe également un certain nombre d’outils qui, à mon avis, devraient être installés afin de nous assurer que nous écrivons le meilleur code possible..

Bien entendu, il s’agit non seulement des conseils mentionnés précédemment, mais également de l’application des normes de codage WordPress..

Dans ce dernier article, je parlerai de plusieurs paramètres et plugins différents qui, selon moi, devraient être définis et / ou installés dans chaque Environnement de développement WordPress pour vous assurer que vous utilisez les API les plus récentes, que vous n'affectez pas les performances et que vous ne causez pas d'avis, d'avertissements ou d'erreurs via PHP.

Réglages

Avant de commencer à parler des différents plugins disponibles, il est fortement recommandé de définir certains paramètres sur votre serveur Web et dans votre environnement WordPress..

Certains de ces paramètres vont contribuer à la fonctionnalité des plugins que nous verrons plus loin dans cet article, d'autres vont fournir des fonctionnalités qui nous aideront à nous avertir lorsque nous faisons des erreurs en PHP et / ou dans notre WordPress. -code spécifique.

Paramètres du serveur Web

Bien que tous ne travaillent pas avec Apache, PHP et MySQL, il s’agit sans doute de la configuration la plus courante utilisée avec WordPress. Une des choses que je recommande toujours aux développeurs dans cet environnement est de s’assurer qu’ils ont configuré PHP pour se connecter. tout dans un fichier journal sur leur machine.

C’est-à-dire, quand on dispose des options pour se connecter

  • erreurs de démarrage
  • les erreurs
  • avertissements
  • les avis
  • toutes les autres erreurs et avertissements

Assurez-vous que vous vérifiez tout. Si vous utilisez un outil tel que MAMP, XAMPP ou WAMP, il est généralement très facile de le faire via l'interface utilisateur. cependant, si vous ne savez pas où configurer ces options, vous pouvez toujours les définir dans php.ini en utilisant les notes décrites dans le manuel PHP.

Garder une trace des erreurs consignées qui peuvent ne pas être affichées à l’écran (bien que nous fassions ce que nous pouvons pour nous assurer que nous faire voir à l’écran plus loin dans cet article) est essentiel pour vous assurer que vous écrivez du code qui détecte tout problème potentiel avec le code.

Certes, cela devrait pouvoir être fait avec d'autres serveurs Web - après tout, il ne s'agit en réalité que d'un paramètre de configuration PHP - mais je n'utilise pas beaucoup des autres options disponibles, je voulais donc être explicite à propos de la environnement dans lequel je configure mes paramètres.

WP_DEBUG

WP_DEBUG est une constante que vous pouvez définir dans votre WordPress wp-config.php fichier. Par défaut, la plupart des installations auront la valeur false. Si le vôtre est déjà réglé sur vrai, cela signifie alors que quelqu'un l'a déjà fait ou que vous avez une copie de WordPress avec des paramètres ne pas expédié par défaut à partir de WordPress.org.

Quoi qu’il en soit, dans le fichier de configuration, recherchez la constante et, si elle est définie sur faux, puis le mettre à vrai. Si ce n'est pas trouvé, alors ajoutez la ligne. En fin de compte, c’est ce que votre functions.php Le fichier doit contenir (en plus de l’autre code déjà présent):

define ('WP_DEBUG', true);

En bref, cette constante permettra de s’assurer que les notifications PHP sont écrites sur l’affichage ainsi que les messages de débogage spécifiques à WordPress. C'est vraiment utile lorsque vous travaillez sur un thème et que vous essayez de vérifier, par exemple, un index vide d'un tableau ou que vous utilisez une fonction qui n'est plus prise en charge par la version actuelle de WordPress..

Il existe également un plugin fantastique lié à cette technique que nous aborderons plus loin dans cet article..

En outre, vous pouvez définir deux autres constantes qui donneront encore plus d’informations que celles-ci. Vous pouvez lire l'article correspondant du Codex pour plus d'informations mais, en résumé, les constantes et leurs définitions sont les suivantes:

WP_DEBUG_DISPLAY

WP_DEBUG_DISPLAY est un autre compagnon de WP_DEBUG qui contrôle si les messages de débogage sont affichés dans le code HTML des pages ou non. La valeur par défaut est "true". Elle indique les erreurs et les avertissements au fur et à mesure qu'ils sont générés. Si vous définissez ce paramètre sur false, toutes les erreurs seront masquées. Ceci doit être utilisé avec WP_DEBUG_LOG afin que les erreurs puissent être vérifiées ultérieurement.

WordPress affiche immédiatement toutes les erreurs, les avertissements et les avis dans le contexte d'une page. Si vous souhaitez continuer à déboguer WordPress mais que vous souhaitez empêcher le rendu des informations sur la page et leur écriture uniquement dans un fichier journal, vous pouvez définir cette constante sur faux.

Personnellement, je ne suis pas partisan de garder les choses cachées car j'aime voir les problèmes dès qu'ils surgissent (lisez: dès que je les ai générés), mais tout le monde a des workflows différents. À cette fin, si l'affichage des messages sur les pages entre en conflit avec votre style de développement, définissez cette constante de manière appropriée, ainsi que WP_DEBUG_LOG.

WP_DEBUG_LOG

WP_DEBUG_LOG est un compagnon de WP_DEBUG qui enregistre toutes les erreurs dans un fichier journal debug.log dans le répertoire / wp-content /. Cela est utile si vous souhaitez consulter tous les avis ultérieurement ou si vous souhaitez afficher les avis générés hors écran (par exemple, pendant une demande AJAX ou une exécution de wp-cron)..

C’est une constante utile pour définir si vous voulez vraiment surveiller vos journaux d’erreurs (que la plupart des développeurs devrait être). En plus du journal généré par PHP, il s'agit d'un autre fichier qui peut fournir des informations sur la nature d'un problème donné et sur son emplacement chaque fois que vous travaillez sur un thème..

SAVEQUERIES

Cette constante est une autre qui sera utile avec certains des plugins que nous allons examiner plus loin dans cet article; cependant, cela vaut la peine functions.php même si vous n'avez pas installé de plugins supplémentaires.

Tout d'abord, comme le WP_DEBUG constante ci-dessus, vous pouvez ajouter cela à functions.php. Ça devrait ressembler à ça:

define ('SAVEQUERIES', vrai);

Ça a l'air bien, bien sûr, mais que fait-il réellement? SAVEQUERIES demande à WordPress de garder trace de deux choses:

  1. Toutes les requêtes exécutées
  2. Combien de temps a-t-il fallu pour exécuter chaque requête

Cette interface directement avec $ wpdb qui est la classe de base de données WordPress. Comme mentionné précédemment, il existe un autre plug-in qui fonctionne directement avec cette constante particulière, de sorte que vous pouvez voir toutes les requêtes à partir de WordPress. Toutefois, si vous préférez ne pas utiliser de plug-in pour rendre l’information, définissez simplement cette constante, puis imprimez le résultat de $ wpdb-> requêtes au format de sortie de votre choix.

Plugins

En plus de la définition des constantes, il existe un certain nombre de plugins puissants qui, à mon avis, devraient être installés dans l'installation WordPress de chaque développeur et qui peuvent fournir une aide encore plus grande lorsqu'ils sont utilisés avec les paramètres ci-dessus..

Bien que beaucoup d'entre vous aient des plugins à ajouter à cette liste et que d'autres aient des opinions sur chacun de ces plugins, ce sont ceux que j'ai trouvé les plus utiles dans mes efforts de développement..

Barre de débogage

La barre de débogage introduit une option dans la barre d’administration de votre installation WordPress qui donne des informations sur les requêtes, le cache et d’autres informations..

Ce plugin est mieux utilisé avec WP_DEBUG et SAVEQUERIES activée. Notez que ce plugin est également requis pour un certain nombre de plugins que je liste après celui-ci. C'est-à-dire qu'il a un certain nombre d'extensions qui le rendent encore plus puissant.

Actions de la barre de débogage et addon de filtres

Ce plugin introduit deux autres onglets dans la barre de débogage qui vous permettent de voir toutes les actions et les filtres (c'est-à-dire tous les points d'ancrage) exécutés sur la demande de page en cours..

Ceci est particulièrement utile si vous construisez un thème complexe ou si vous avez hérité d'une base de code de quelqu'un d'autre et que vous essayez de trouver Pourquoi certaines choses arrivent qui peuvent ne pas être faciles à trouver à cause de la façon dont le thème est construit. 

Console de débogage

Malheureusement, ce plugin particulier n'a pas été mis à jour depuis quelques années, donc je ne sais pas combien de temps il continuera à fonctionner avec WordPress (à moins que quelqu'un ne l'adopte pour le développement), mais il fonctionne conjointement avec Debug Bar pour vous donner la possibilité d'exécuter PHP et MySQL directement à partir de WordPress.

Cela est très utile lorsque vous essayez de comprendre pourquoi, par exemple, une fonction de votre thème ne fonctionne pas comme il se doit. Autrement dit, vous pouvez écrire une fonction directement dans la console, l'exécuter et voir le résultat sans avoir à revenir constamment dans votre IDE, à modifier la fonction, à actualiser et à vérifier le résultat..

Dépendances de script et de style de liste de barres de débogage

Si vous travaillez avec un thème qui utilise beaucoup de styles et beaucoup de fichiers JavaScript, en particulier ceux qui dépendent d'autres feuilles de style et d'autres fichiers JavaScript, il est utile de connaître l'ordre dans lequel ils sont chargés et comment ils devraient être. chargé.

C’est là que cet addon de la barre de débogage entre en jeu..

Cela nous permet de visualiser l'ordre dans lequel les scripts et les styles sont chargés et exécutés, de sorte que nous puissions apporter les modifications nécessaires pour garantir que toutes les dépendances sont chargées comme il se doit pour que notre thème fonctionne correctement.. 

Types de messages de la barre de débogage

Si votre thème introduit des types de publication personnalisés dans le tableau de bord, il y a de fortes chances que vous ayez eu à travailler avec différentes propriétés, règles de réécriture, etc.. 

La complexité peut être très rapide, en fonction du nombre de fois que vous décidez de modifier les caractéristiques du type de message personnalisé..

Ce plugin ajoute encore un autre panneau à la barre de débogage, ce qui vous permet de voir facilement les propriétés de chaque type de publication. Il ne permet pas de modification ou d'édition à la volée (comme cela peut être fait dans la console de la barre de débogage ou en modifiant simplement la définition de votre type de message personnalisé), mais il fournit un format beaucoup plus net qu'un tableau géant. dans l'écran d'un IDE.

Consigner les avis obsolètes

Il s’agit d’un simple plugin qui enregistre l’utilisation d’anciens fichiers, fonctions, arguments, etc. dans un fichier. Plus précisément, lorsque vous écrivez un thème, ce plug-in vous avertira lorsque vous exécutez quelque chose qui n'est pas 100% compatible avec la version actuelle de WordPress.. 

Pour ceux qui veulent s’assurer de la pérennité de leur travail et qui se tiennent au courant des dernières API, je recommande vivement ce plugin..

WordPress Plugin Performance Profiler

L’une des idées fausses les plus répandues à propos de WordPress est que l’exécution d’un grand nombre de plugins ralentit le chargement de votre site ou que beaucoup de plugins causent un gonflement. Ce n'est pas vrai Ce sont les plugins mal écrits qui le font. Ceux qui suivent les meilleures pratiques de WordPress et les normes de codage devraient avoir un impact minimal sur le temps de chargement.

Cela dit, ce plugin identifiera exactement quels plugins ont le plus d'impact sur les performances. Bien sûr, cela peut être utile lorsque vous essayez de limiter la raison pour laquelle un site fonctionne lentement, mais il est également utile d'exécuter sur votre propre code pour vous assurer que tu es n'affectant pas négativement les performances du site.

Inspecteur de réécriture des règles

Pour tous ceux qui ont beaucoup travaillé avec des types d'articles personnalisés, des itinéraires personnalisés ou des URL, ou qui ont dû s'aventurer dans l'API Rewrite, vous connaissez les défis qui existent..

Ce plugin aide à donner une représentation visuelle des règles de réécriture de votre installation. C'est utile pour inspecter les règles qui existent dans le thème actuel, mais aussi pour aider au débogage lorsque vous essayez de définir un schéma personnalisé et que vous avez du mal à clouer l'expression régulière pour le faire..

Testeur RTL

Si vous souhaitez commercialiser votre plugin auprès du plus large public possible, vous devez également tester son apparence dans les langues lues de gauche à droite et de droite à gauche.. 

Autrement dit, si vous voulez vous assurer que vous avez bien internationalisé votre thème, alors ce plugin vous permettra de voir à quoi ressemble votre travail pour les langues internationalisées..

Si vous cherchez à vendre votre thème, par exemple sur WordPress.com, alors c'est un must-have.

Vérification du thème

Si vous souhaitez vous assurer que votre thème est à jour avec les directives actuelles en matière de révision de thèmes WordPress, alors la vérification de thème est une option non négociable..

Il procédera à un audit automatisé de votre thème et veillera à ce que tout votre code soit conforme aux directives en vigueur. Sinon, vous obtiendrez une lecture claire des problèmes et des liens vers les directives que vous ne suivez pas. Il fournit également des suggestions sur les éléments à mettre en œuvre..

Notez que la plupart (sinon la totalité) de ces éléments sont disponibles gratuitement à partir du référentiel de plugins WordPress, de sorte qu'ils peuvent être installés directement à partir de WordPress lui-même..

Conclusion

Comme je l'ai indiqué dans des articles précédents, beaucoup de choses que j'ai partagées au cours de cette série sont un peu subjectives ou peuvent ne pas fonctionner dans votre environnement actuel. Bien que les pratiques et les outils que j'ai partagés aient fait leurs preuves au cours de ma propre expérience de travail avec WordPress pendant plusieurs années, je reconnais également que nous n'utilisons pas tous le même ensemble d'outils..

En tant que tel, cela signifie que certaines configurations, organisations et paramètres peuvent varier d’un utilisateur à l’autre. C'est bon. En fin de compte, le fait est que nous, les développeurs de thèmes, devons mieux écrire les thèmes maintenables, car nous y consacrons beaucoup de temps après leur publication initiale..

Peut-être que certaines des choses suggérées tout au long de cette série vous aideront à faire exactement cela. Peut-être aurez-vous besoin de modifier certaines des suggestions pour qu'elles correspondent aux outils que vous utilisez. Quoi qu’il en soit, j’espère que cette série n’a pas seulement été utile avec quelques conseils pratiques pour vous aider à développer votre thème en cours, mais qu’elle a également suscité l’intérêt de jeter les bases de la manière dont vous organisez et structurez vos projets..

Comme d'habitude, n'hésitez pas à poursuivre la discussion avec des commentaires, des questions et tout autre commentaire général dans le fil de commentaire ci-dessous..