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

Organisation des écrans de paramètres WordPress

23

Comme beaucoup d’entre nous continuent d’avancer avec PHP7+, nous pouvons continuer à profiter de nombreuses nouvelles fonctionnalités offertes par le langage.

Organisation des écrans de paramètres WordPress

En attendant, cependant, il existe encore des fonctionnalités de PHP et des logiciels associés que nous pouvons utiliser pour rationaliser notre développement. Le moins (et ce dont j’ai écrit et parlé un peu) est les espaces de noms.

Organisation des écrans de paramètres WordPress

Voici la chose, cependant: j’aime avoir les fichiers et les répertoires de mon plugin structurés de manière à ce qu’ils soient organisés pour refléter les conventions d’espace de noms qu’ils suivent. Et cela peut être fait pour les taxonomies, les méta-boîtes, les objets de domaine, les fonctionnalités liées à la base de données, etc.

Dans cet article, cependant, je souhaite parler d’une manière d’organiser les écrans de paramètres WordPress à la fois de la logique – c’est-à-dire l’emplacement de leur système de fichiers – et du virtuel – c’est-à-dire leurs espaces de noms – des structures organisationnelles.

Organisation des écrans de paramètres WordPress

Le premier point que je veux faire est le suivant : bien que je parle de l’organisation des écrans de paramètres de WordPress, je ne parle pas de l’API. Au lieu de cela, supposons que pour ce post, je parle de ce qui suit :

  • un menu personnalisé auquel est associée une page de menu,
  • une page de menu qui affiche les exigences d’une page de paramètres (comme le champ nonce, etc.)
  • un partiel qui contient les paramètres réels (ou plusieurs partiels si vous cherchez à inclure plusieurs paramètres).

Je ne vais pas parler du processus de désinfection, de sérialisation, de récupération, de validation et d’affichage. C’est purement organisationnel.

Réfléchir au processus

Étant donné que nous allons organiser nos fichiers dans des répertoires qui mappent également 1: 1 avec des espaces de noms, réfléchissons exactement à ce dont nous aurons besoin. La façon dont je l’aborde est la suivante:

  1. Nous créons quelque chose spécifiquement pour l’application WordPress contextuelle. Cela indique un espace de noms.
  2. Nous allons créer un menu d’administration, ce qui signifie que nous travaillons à la fois dans la zone d’administration de WordPress, donc un autre espace de noms, et avec des menus, qui sont un autre espace de noms.
  3. Ensuite, nous avons besoin de fichiers pour afficher l’écran standard de WordPress, nous aurons donc besoin d’un espace de noms Views,
  4. Et puis nous aurons besoin d’un code spécifique au domaine pour tomber dans la vue, donc nous aurons finalement besoin d’un répertoire Partials (et donc d’un espace de noms).

Ainsi, l’organisation finale et logique des données ressemblerait à ceci :

Organisation des écrans de paramètres WordPress

La chose la plus importante à noter à propos de cette organisation particulière des fichiers est peut-être que la classe AdminMenu est une classe de base dont toutes les classes spécifiques (ou plus concrètes) peuvent hériter.

Cela signifie que la classe AcmeAdminMenu en hérite certaines propriétés et fonctions, puis implémente sa logique ou ajoute également sa logique.

Espacement des noms de chaque fichier

Lorsque vous organisez vos fichiers de cette manière, les espaces de noms deviennent presque évidents, n’est-ce pas ? Voici l’espace de noms pour chacun des fichiers :

  • WordPressAdminMenuAdminMenu
  • WordPressAdminMenuAcmeAdminMenu
  • WordPressAdminMenuViewsSettings
  • WordPressAdminMenuViewsSettingsPartials

Notez que puisque acme-settings.php n’est techniquement qu’un balisage pour les options de rendu, il n’a pas nécessairement besoin d’être dans un espace de noms car il est inclus par la vue qui le rend.

Quoi qu’il en soit, si vous aimez garder les choses aussi organisées que possible, il est logique d’imbriquer un partiel dans un répertoire nommé uniquement.

Qu’en est-il du code ?

Si vous êtes intéressé à voir le code pour quelque chose comme ça, j’envisage de créer un petit plugin qui montre comment tout cela s’emboîte. Après tout, c’est un peu de haut niveau, n’est-ce pas? Je veux dire qu’il n’y a pas de mise en œuvre.

Là encore, si cela vous aide à vous orienter dans la bonne direction pour un projet actuel ou futur, cela peut suffire.

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