Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Sur les fonctions et les plugins indispensables

7

J’ai travaillé sur un petit projet, plus une application Web qu’un site, qui nécessitait le développement à la fois d’un thème personnalisé et de fonctionnalités étroitement couplées, mais très spécifiques.

Il s’agit d’un projet très ciblé (dont je parlerai probablement à un moment donné dans le futur) mais en y travaillant, cela m’a obligé à revenir un peu sur l’aspect développement de thème du développement WordPress.

Non, je ne fais aucune conception – heureusement – ​​mais je dois travailler sur les personnalisations de thème d’un point de vue fonctionnel. Ce faisant, cependant, cela m’a fait revoir les considérations requises functions.phpet certaines considérations que je n’avais jamais eues auparavant.

De plus, cela m’a amené à regarder plus profondément l’utilisation de mu-pluginset à me demander quand ils sont nécessaires et pourquoi je ne les ai pas utilisés plus dans le passé (ou même quand on aurait vraiment besoin de les utiliser).

Je vais donc être un peu poétique à ce sujet.

TL;DR

Quand je faisais du développement de thème, functions.phpa été utilisé pour deux choses (ce qui est problématique en soi) mais quand même :

  1. pour activer ou désactiver des fonctionnalités dans les thèmes,
  2. pour définir les fonctionnalités spécifiques au thème.

Le manuel du développeur de thèmes indique :

Le functions.phpfichier est l’endroit où vous ajoutez des fonctionnalités uniques à votre thème WordPress. Il peut être utilisé pour se connecter aux fonctions de base de WordPress pour rendre votre thème plus modulaire, extensible et fonctionnel.

Fonctions de thème, Manuel du développeur de thème

Et je comprends, mais de mon point de vue et au fur et à mesure que WordPress a évolué, je pense que cela functions.phpdevrait être dédié aux fonctionnalités spécifiques au thème en termes de choses qui s’accrochent directement au noyau comme :

  • fonctionnalité de personnalisation,
  • fonctionnalité des menus,
  • enregistrement du script et du style,
  • etc.

Mais s’il y a quelque chose qui doit s’exécuter pendant l’un des crochets et que cela correspond davantage à une logique spécifique au domaine, alors cela n’appartient pas à ce fichier.

Sur les fonctions et les plugins indispensables

Cela soulève cependant une question : où résident les fonctionnalités spécifiques à un domaine ?

Entrez les plugins indispensables

Je sais que des choses comme les incrépertoires deviennent de plus en plus courantes, mais je ne m’en soucie pas lorsque je parle de développement de thèmes, en particulier lorsque le développement de thèmes n’est pas mon objectif et que cette structure de répertoire particulière n’est pas mon style.

Quoi qu’il en soit, lorsqu’il s’agit de solutions hautement spécialisées (où une solution est une combinaison de présentation et de fonctionnalités étroitement ciblées), je commence à penser à mu-plugins.

Sur les fonctions et les plugins indispensables

Et la raison pour laquelle je ne pense pas à un plugin WordPress standard est qu’ils sont généralement conçus pour fonctionner avec n’importe quel thème et pour ajouter des fonctionnalités. Ce n’est pas le cas avec mu-plugins.

Les plugins indispensables (alias mu-plugins) sont des plugins installés dans un répertoire spécial à l’intérieur du dossier de contenu et qui sont automatiquement activés sur tous les sites de l’installation.

Plugins indispensables, WordPress.org

Voici donc ma démarche de réflexion :

  1. Les thèmes sont pour la présentation
  2. Les plugins sont pour la fonctionnalité.
  3. Les plugins sont conçus pour être utilisés indépendamment d’un thème et sur l’ensemble d’un site.
  4. Les plugins indispensables sont des plugins activés et utilisés par défaut
  5. Par conséquent, la logique spécifique au domaine d’une solution spécialisée doit résider dans un plug-in indispensable.

Bien sûr, on peut affirmer que certains thèmes peuvent nécessiter des fonctionnalités indispensables, mais cela ne correspond-il pas toujours à l’idée que la fonctionnalité devrait résider dans un plugin indispensable ?

Quoi qu’il en soit, l’approche que j’ai suivie est la suivante:

  1. La fonctionnalité qui associe spécifiquement les fonctionnalités du thème au noyau de WordPress va dans functions.php.
  2. La fonctionnalité qui est logique de domaine mais qui nécessite que la solution entière fonctionne réside dans un fichier mu-plugin.

À ce stade de ma carrière, je ne fais pas beaucoup de travail qui se concentre sur autre chose que le backend, mais dans les rares occasions que j’ai d’élargir le travail que je fais, je trouve que j’essaie toujours d’être aussi analytique et réfléchi sur la façon dont je construis le projet.

Source d’enregistrement: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More