WordPress Plugin Boilerplate 101: Com començar

WordPress Plugin Boilerplate 101: Com començar

WordPress Plugin Boilerplate 101: Com començar
СОДЕРЖАНИЕ
02 июня 2020

Des de la creació dels complements de WordPress fa uns deu anys no ha canviat gaire la manera d’escriure’ls. Hi ha un fitxer de complements principal amb una capçalera seguit bàsicament de Wild West. A banda d’utilitzar ganxos, no hi ha una forma estandarditzada de fer plugins.


Això no és necessàriament un problema. Hi ha molts complements senzills que no necessiten un marc de govern i hi ha algunes persones que poden escriure un codi procedimental perfectament coherent. Dit això, la qualitat del codi en els plugins generalment no és la millor, un marc o una metodologia farien un llarg camí per augmentar-lo.

En aquest article, examinaré una possible solució: Boilerplate de plugins de WordPress. Es pretén ser un punt de partida per al desenvolupament de complements, una forma orientada a objectes de crear un complement normalitzat. Com que està codificat amb els principis OOP, es destina principalment a codificadors intermedis, però podeu utilitzar-lo fàcilment fins i tot com a principiant si sabeu què passa. Al final d’aquest article, haureu de saber què és i com podeu començar amb ell, independentment de la vostra experiència de codificació.

Estructura general del fitxer

La placa de caldera s’ha d’utilitzar com a dipòsit de Github, de manera que el directori principal conté fitxers que es troben habitualment a Github repos. El fitxer README.md és un readme general i apareix a la pàgina del dipòsit principal com a descripció. El fitxer CHANGELOG.md serveix per a l’enregistrament de canvis entre la versió i el fitxer .gitignore, per configurar fitxers que git hauria d’ignorar quan es treballa amb fitxers..

La carpeta principal aquí del nom del complement és on es guarda el connector. La seva estructura segueix el dipòsit de WordPress "registrar" aquesta carpeta al repo del complement SVN. De manera predeterminada, conté la carpeta d’actius, que emmagatzema imatges i captures de pantalla del vostre complement, i la carpeta tronc, que conté el codi del complement.

La carpeta tronc és el que conté el complement, podeu enganxar aquesta carpeta en una instal·lació de WordPress i activar el vostre complement. Una mica més endavant veurem el contingut d’aquesta carpeta. Abans de fer això, establim botigues.

nou-complement

Configuració de tot

Tenir totes aquestes carpetes i una excel·lència de SVN / Git en un sol lloc és bo i bo, però, com es pot utilitzar? No podeu comprovar la carpeta sencera directament a la carpeta de connectors, sinó que no funcionarà. Si només es revisa el directori tronc és una molèstia, a més, no tindreu accés a fitxers fora d’aquest directori.

Permeteu-me que us mostri la meva manera preferida de configurar les coses. Tinc una carpeta al meu equip amb l’estructura següent:

  • github
    • Principals autors
    • Imatges fàcils de destacar
    • Twitter-Usuaris de temps
  • html
    • wp-administrador
    • contingut wp
    • wp-inclou
    • altres fitxers de wordpress
  • wordpress
    • autors principals
    • imatges senzilles
    • twitter-usuaris-terminis

La carpeta html és on s’instal·la WordPress. La carpeta github conté tots els meus complements de WordPress de Github. La carpeta de wordpress conté els mateixos connectors extrets mitjançant SVN des del dipòsit de WordPress.

Creació d’un enllaç enllaç

El primer pas que faig és crear una versió vainilla de WordPress Plugin Boilerplate a Github. A continuació, ho comprovo a la carpeta de github. A continuació, creo un enllaç entre la carpeta troncal del directori wp-content / plugins de la meva instal·lació de WordPress.

Symlinks és una referència a un fitxer o a una carpeta que resol la seva destinació com espereu. El resultat final d’això és que si enllaceu un complement des de qualsevol lloc del vostre sistema al vostre directori de WordPress, funcionarà bé. Això et proporciona els avantatges següents:

  • Podeu emmagatzemar plugins en qualsevol altre lloc.
  • Podeu enllaçar una carpeta des d’un dipòsit més gran.
  • Podeu sincronitzar el mateix complement en diverses instal·lacions.

La creació d’un enllaç enllaç és fàcil des del terminal o l’indicador d’ordres de Windows. Us proposo obrir-ne un i dirigir-vos al directori de plugins de la instal·lació de WordPress. A continuació, escriviu la següent comanda:

# Per a OSX o Linux
ln -s / absolut / path / to / github / My-Plugin-Name / my-plugin-name / tronc my-plugin-name

# Per a Windows
mklink / j C: \ absolute \ path \ to \ github \ My-Plugin-Name my-plugin-name

Això crea un enllaç des del primer camí al segon. El primer camí és el camí absolut al directori tronc del vostre dipòsit Github. El segon només és el nom de la carpeta a la qual voleu enllaçar-la quan ja esteu al directori de plugins de la vostra instal·lació de WordPress.

Un cop acabat, haureu de mostrar el vostre nou complement, tal com a la imatge de dalt. Haurem de personalitzar les coses, però ara tenim el nostre plugin que funciona des del dipòsit Github, fent que el desenvolupament sigui un molt més fàcil.

Canviar el nom

Hi ha moltes carpetes i fitxers al directori del tronc, comencem a canviar-ne el nom. En primer lloc, us recomano que poseu el nom del vostre dipòsit mitjançant guions i majúscules, una cosa així: My-Awesome-Plugin. La carpeta principal dins del nom hauria de rebre el nom de “meu-fantàstic-plugin”. Us recomano que utilitzeu aquesta convenció a tot el connector.

Canviar el nom dels fitxers és fàcil a OSX. Obre totes les carpetes i selecciona tots els fitxers que tenen el nom de complement de la cadena. Feu clic amb el botó dret per canviar el nom dels 14 fitxers i canvieu el nom del lot.

canviar el nom

Serà una mica més difícil a Windows, mireu-ho HowToGeek article per obtenir més informació, o només cal anar un per un.

Termes com "nom de complement" i altres variacions també es difonen per tot el contingut del fitxer. Pots fer servir Sublim, Atom.io o altres editors de text capaços de substituir massivament dins de diversos fitxers. A continuació, es mostra una llista del que heu de substituir (assegureu-vos de fer recanvis entre majúscules i minúscules).

  • nom del complement hauria de convertir-se en my_awesome_plugin
  • Nom del complement hauria de convertir-se en My_Awesome_Plugin
  • nom de complement hauria de convertir-se en el meu-meravellós-plugin

Un cop acabat, assegureu-vos que empleneu el comentari de la capçalera del fitxer principal (my-awesome-plugin.php) per personalitzar-lo a les vostres necessitats.

Taula de continguts

Hi ha molt contingut al WordPress Plugin Boilerplate. La idea és establir unes pautes estrictes sobre on es poden posar les coses. Hi ha un lloc específic per afegir els vostres ganxos, per exemple, un lloc estàndard per afegir funcions de front-end, etc. Vegem les principals parts del marc.

Tingueu en compte que em referiré als fitxers ja que han rebatejat el nom, per exemple: include / class-my-awesome-plugin.php. Si heu canviat el nom del vostre complement a una altra cosa, haureu de recordar que la part del meu fitxer-fantàstic del nom del fitxer serà diferent per a vosaltres..

Activació, desactivació i desinstal·lació

Qualsevol codi que vulgueu executar quan s’activi el complement ha d’incloure inclou / my-awesome-plugin-name-activator.php. En aquest fitxer, hi ha una classe anomenada My_Awesome_Plugin_Activator dins la qual hi ha un mètode d’activació () que heu d’utilitzar.

No et preocupis si encara no estàs al corrent dels objectes, ja saps on posar les coses serà suficient per començar.

El codi que cal executar a la desactivació ha de col·locar-lo en include / my-awesome-plugin-name-deactivator.php. El mètode activar () dins del programa My_Awesome_Plugin_Deactivator és el que haureu d’utilitzar.

Creus que això és una mica massa complex? No et culpo! Quan comenceu a utilitzar conceptes orientats a objectes, veureu l’avantatge d’aquest codi sobre el procediment. Si no és res, proporciona un lloc molt evident per posar el vostre codi que en si mateix és una gran ajuda.

Per a la desinstal·lació, el mètode recomanat és utilitzar uninstall.php, que és el que fa WordPress Plugin Boilerplate. El vostre codi s’ha de situar a la part inferior d’aquest fitxer.

Addició de ganxos

Els enganxats són gestionats per WordPress Plugin Boilerplate de manera sorprenent, però al principi pot semblar una mica impecable. Tots els vostres ganxos s’han de situar a include / class-my-awesome-plugin.php. Més concretament, dins de la classe My_Awesome_Plugin, dins de dos mètodes:

  • define_public_hooks () quan s’afegeix un ganxo que s’utilitza al front-end
  • define_admin_hooks () quan s’afegeix un ganxo que s’utilitza al fons

En comptes d’utilitzar add_action () o add_filter () com de costum, haureu de fer les coses lleugerament diferent. A continuació, es mostra com modifiques el contingut de la publicació, per exemple.

$ aquest->carregador->add_action (“el_content”, $ plugin_public, “modifica_post_content”);

El primer paràmetre és el nom del ganxo, el segon és una referència a l’objecte públic o administrador. Per als ganxos públics, hauria de ser $ plugin_public, i per als admin hooks ha de ser $ plugin_admin. El tercer paràmetre és la funció enganxada.

Tot i que sembla més revolucionat, estandarditza l’addició de ganxos completament, dividint-los en dos grups diferents en el procés.

Continguts públics i d’administració

El complement de WordPress Boilerplate divideix els ganxos en grups administratius / públics, però no tot. Divideix tots els codis de la mateixa manera demanant-vos que escriviu codi de cara al públic a la carpeta pública i el codi d’administració a la carpeta d’administració.

Les dues carpetes contenen carpetes css, js i parcials. Heu d’introduir els recursos CSS / JS utilitzats en aquestes carpetes i escriure plantilles i altres bits reutilitzables d’HTML a la carpeta parcials. Està bé crear fitxers nous a la carpeta de parcials, de fet, és per a què serveix!

També heu d’escriure les funcions enganxades en aquestes carpetes dins de la classe dels directoris respectius. Quan vam enganxar la funció de modificar_post_content a la de_content anterior, li vam dir a WordPress Plugin Boilerplate on també la podríem buscar. Com que hem afegit això a la cara de públic, WordPress Plugin Boilerplate espera que es defineixi dins de la classe My_Awesome_Plugin_Public que es troba a la carpeta pública. Simplement, creeu aquesta funció dins de la classe i escriviu tot el que és habitual.

Recursos i dependències

Si voleu utilitzar recursos externs, com ara Activació de complements TGM, heu d’afegir-ho a la carpeta Inclou. TGM és un fitxer únic anomenat class-tgm-plugin-activation.php que s’ha d’incloure al fitxer class-my-awesome-plugin.php, dins del mètode load_dependencies ():

require_once plugin_dir_path (nom de dir (__FILE__)). ‘inclou / class-tgm-plugin-activation.php’;

Visió general

Tots els noms i funcions del fitxer us confonen? No et preocupis, obtindràs la suspensió prou ràpidament. De fet, normalment només estareu modificant tres fitxers:

  • Inclou / class-my-awesome-plugin.php és on afegiu tots els vostres fitxers i dependències.
  • public / class-my-awesome-plugin-public.php és on afegiu totes les funcions de cara al públic.
  • admin / class-my-awesome-plugin-admin.php és allà on van totes les funcions d’admin.

Al principi, l’ús de WordPress Plugin Boilerplate pot semblar una molèstia, però al final resultarà efectiu. Tornareu un any més tard i sabreu on és tot, el vostre desenvolupament de complements es normalitzarà a tots els productes i altres desenvolupadors podran esbrinar què passa?.

Finalment, no oblideu que un complement que ofereix un giny senzill pot no necessitar aquest marc. Tot i que l’ús de WordPress Plugin Boilerplate no retardarà el vostre complement, sí que obstruirà la vista si només cal que hi hagi algunes línies de codi senzilles.!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Это интересно
    Adblock
    detector