✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Organizzare le schermate delle impostazioni di WordPress

18

Poiché molti di noi continuano ad andare avanti con PHP7+, possiamo continuare a sfruttare molte nuove funzionalità offerte dal linguaggio.

Organizzare le schermate delle impostazioni di WordPress

Nel frattempo, tuttavia, ci sono ancora funzionalità di PHP e del relativo software che possiamo utilizzare per semplificare il nostro sviluppo. L’ultimo dei quali (e quello di cui ho scritto e parlato un po’) sono gli spazi dei nomi.

Organizzare le schermate delle impostazioni di WordPress

Ecco la cosa, però: mi piace avere i file e le directory del mio plugin strutturati in modo che siano organizzati per rispecchiare le convenzioni dello spazio dei nomi che seguono. E questo può essere fatto per tassonomie, meta box, oggetti di dominio, funzionalità relative al database e così via.

In questo post, tuttavia, voglio parlare di un modo per organizzare le schermate delle impostazioni di WordPress sia dalle strutture organizzative logiche, ovvero la posizione del loro file system, sia da quelle virtuali, ovvero i loro spazi dei nomi.

Organizzare le schermate delle impostazioni di WordPress

Il primo punto che voglio sottolineare è questo: anche se sto parlando dell’organizzazione delle schermate delle impostazioni di WordPress, non sto parlando dell’API. Invece, supponiamo che per questo post sto parlando di quanto segue:

  • un menu personalizzato con una pagina di menu associata,
  • una pagina di menu che rende i requisiti per una pagina delle impostazioni (come il campo nonce e così via)
  • un parziale che contiene le impostazioni effettive (o più parziali se stai cercando di includere più impostazioni).

Non parlerò del processo di sanificazione, serializzazione, recupero, convalida e visualizzazione. Questo è puramente organizzativo.

Pensare attraverso il processo

Dato che organizzeremo i nostri file attraverso directory che mappano anche 1:1 con gli spazi dei nomi, pensiamo esattamente a ciò di cui avremo bisogno. Il modo in cui mi avvicino è questo:

  1. Stiamo creando qualcosa di specifico per il contesto dell’applicazione WordPress. Questo indica uno spazio dei nomi.
  2. Creeremo un menu di amministrazione, il che significa che stiamo lavorando sia nell’area di amministrazione di WordPress, quindi un altro spazio dei nomi, sia con i menu, che sono un altro spazio dei nomi.
  3. Successivamente, abbiamo bisogno di file per visualizzare la schermata standard per WordPress, quindi avremo bisogno di uno spazio dei nomi di Views,
  4. E poi avremo bisogno del codice specifico del dominio da inserire nella vista, quindi alla fine avremo bisogno di una directory Partials (e quindi di uno spazio dei nomi).

Quindi l’organizzazione logica finale dei dati sarebbe simile a questa:

Organizzare le schermate delle impostazioni di WordPress

Forse la cosa più importante da notare su questa particolare organizzazione dei file è che la classe AdminMenu è una classe base da cui possono ereditare tutte le classi specifiche (o più concrete).

Ciò significa che la classe AcmeAdminMenu eredita determinate proprietà e funzioni da essa e quindi implementa la sua logica o aggiunge anche la sua logica.

Spazio dei nomi a ogni file

Quando organizzi i tuoi file in questo modo, gli spazi dei nomi diventano quasi evidenti, vero? Ecco lo spazio dei nomi per ciascuno dei file:

  • WordPressAdminMenuAdminMenu
  • WordPressAdminMenuAcmeAdminMenu
  • WordPressAdminMenuVisteImpostazioni
  • WordPressAdminMenuViewsSettingsPartials

Nota che poiché acme-settings.php è tecnicamente solo un markup per le opzioni di rendering, non deve necessariamente avere uno spazio dei nomi perché è incluso dalla vista che lo rende.

Indipendentemente da ciò, se sei un fan di mantenere le cose il più organizzate possibile, ha senso solo annidare un parziale all’interno di una directory chiamata proprio così.

E il codice?

Se sei interessato a vedere il codice per qualcosa del genere, sto pensando di mettere insieme un piccolo plugin che dimostri come tutto questo si adatta insieme. Dopotutto, questo è un po’ di alto livello, vero? Voglio dire, non c’è implementazione.

Poi di nuovo, se questo ti aiuta a indirizzarti nella giusta direzione per un progetto attuale o futuro, allora potrebbe essere sufficiente.

Fonte di registrazione: 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