WordPressi pistikprogrammi katlaplaat 101: Kuidas alustada

Alates WordPressi pistikprogrammide loomisest umbes 10 aastat tagasi pole nende kirjutamise viis palju muutunud. Seal on peamine pistikfail koos päisega, millele järgneb põhimõtteliselt Metsik Lääs. Peale konksude kasutamise pole pluginate loomiseks standardset viisi.


See pole tingimata probleem. On palju lihtsaid pistikprogramme, mis ei vaja reguleerivat raamistikku, ja mõned inimesed, kes oskavad kirjutada täiesti sidusat protseduurikoodi. Sellegipoolest pole pluginate koodide kvaliteet üldiselt kõige parem, raamistik või metoodika läheksid selle tõstmisel kaugele.

Selles artiklis vaatlen ühte võimalikku lahendust – WordPressi plugina katlaplaat. See on mõeldud pistikprogrammide arendamise lähtepunktiks, objektorienteeritud viisiks standardiseeritud pistikprogrammi loomiseks. Kuna see on kodeeritud OOP põhimõtetega, on see mõeldud peamiselt vahekoodrite jaoks, kuid saate seda hõlpsasti kasutada ka algajana, kui teate, mis kuhu läheb. Selle artikli lõpuks peaksite teadma, mis on mida ja kuidas saate sellega alustada – sõltumata kodeerimise kogemusest.

Üldine failistruktuur

Katlaplaat on mõeldud kasutamiseks Githubi hoidlana, nii et põhikataloog sisaldab Githubi repos tavaliselt leiduvaid faile. Fail README.md on üldine readme ja kuvatakse kirjeldusena teie peamises hoidla lehel. Fail CHANGELOG.md on mõeldud versioonide vaheliste muudatuste salvestamiseks ja .gitignore faili jaoks failide seadistamiseks, mida failidega töötades peaks ignoreerima..

Peamine kausta siin plugina nimi on seal, kus pistikprogramm on salvestatud. Selle struktuur järgib WordPressi hoidlat ja saate seda teha "registreeru sisse" see kaust SVN-i pistikprogrammi reposse. Vaikimisi sisaldab see varade kausta, kuhu salvestatakse teie pistikprogrammi pilte ja ekraanipilte, ning pagasikausta, mis sisaldab pistikprogrammi koodi.

Pistikprogramm sisaldab pagasikausta. Selle kausta saate kleepida WordPressi installi ja oma pistikprogrammi aktiveerida. Vaatame selle kausta sisu üksikasjalikult veidi hiljem. Enne kui seda teeme, asutagem pood.

uus pistikprogramm

Seadistamine kõik üles

Kõigi nende kaustade ja SVN / Giti suurepärasuse olemasolu ühes kohas on kõik hea ja hea, kuid kuidas saate seda tegelikult kasutada? Te ei saa kogu kausta otse pluginate kausta kontrollida, see lihtsalt ei tööta. Ainult põhikataloogi kontrollimine on vaeva, lisaks pole teil juurdepääsu sellele kataloogist väljaspool asuvatele failidele.

Las ma näitan teile oma lemmikviisi asjade seadistamiseks. Minu arvutis on järgmise struktuuriga kaust:

  • github
    • Parimad autorid
    • Lihtsalt esile tõstetud pildid
    • Twitter-kasutaja-ajakaardid
  • html
    • wp-admin
    • wp-sisu
    • wp-sisaldab
    • muud WordPress-failid
  • WordPress
    • tipp-autorid
    • hõlpsasti esile tõstetud pildid
    • twitter-user-timeline

HTML-kaust on kuhu WordPress on installitud. Githubi kaust sisaldab kõiki minu WordPressi pluginaid Githubilt. WordPressi kaust sisaldab samu pluginaid, mis on SVN-i kaudu tõmmatud WordPressi hoidlast.

Sümbollingi loomine

Esimene samm, mille ma teen, on WordPressi pistikprogrammi katlaplaadi vaniljeversiooni loomine Githubis. Seejärel kontrollin seda oma githubi kausta. Järgmisena loon sümmeetrilise lingi oma WordPressi installidavasse kausta wp-content / plugins asuva paketi vahel.

Lingid on viide failile või kaustale, mis lahendab oma eesmärgi nagu võiks eeldada. Selle lõpptulemus on see, et kui linkite pistikprogrammi mis tahes süsteemis oma WordPressi kataloogi, töötab see lihtsalt suurepäraselt. See annab teile järgmised eelised:

  • Pistikprogramme saate mujale salvestada.
  • Kausta saab sünkroniseerida suurema hoidla seest.
  • Sama pistikprogrammi saate linkida mitmesse installi.

Sildilingi loomine on Windowsi terminalist või käsurealt lihtne. Soovitan selle avada ja navigeerida oma WordPressi installi pluginate kataloogis. Seejärel tippige järgmine käsk:

# OSX või Linux jaoks
ln-id / absoluutne / tee / kuni / github / Minu plugina nimi / minu pistikprogrammi nimi / pagasiruumi minu pistikprogrammi nimi

# Windowsi jaoks
mklink / j C: \ absoluutne \ tee \ asukohta \ github \ My-Plugin-name my plugin-name

See loob lingi esimeselt teelt teisele. Esimene tee on absoluutne tee pakettkataloogi teie Githubi hoidlas. Teine on ainult selle kausta nimi, millega soovite selle linkida, kui olete juba oma WordPressi installi pluginate kataloogis.

Kui see on valmis, peaksite oma uut pistikprogrammi kuvama, nagu ülaltoodud pildil. Peame asju kohandama, kuid nüüd töötab meie pistikprogramm Githubi hoidlast, muutes arenduse palju lihtsam.

Ümbernimetamine

Pagasiruumi kataloogis on palju kaustu ja faile, alustame nende ümbernimetamist! Esiteks soovitan teil oma hoidla nimetada kriipsude ja suurtähtedega, umbes nii: Minu-Awesome-Plugin. Põhikataloogi nimi peaks olema minu äge plugin. Soovitan seda tava kasutada kogu pistikprogrammi vältel.

Failide ümbernimetamine on OSX-is lihtne. Avage kõik kaustad ja valige kõik failid, mille stringi plugina nimi on. Paremklõpsake kõigi 14 faili ümbernimetamiseks ja partii nimetage partii ümber.

nimeta ümber

Windowsis on see natuke keerulisem, vaadake seda HowToGeek artikkel lisateabe saamiseks või minge lihtsalt ükshaaval.

Mõisted nagu "plugina nimi" ja muud variatsioonid on jaotunud ka kogu failisisu. Sa võid kasutada Ülev, Atom.io või muud võimelised tekstiredaktorid, mis võimaldavad mitme faili massilist asendamist. Siin on nimekiri sellest, mida peaksite asendama (tehke kindlasti tõstutundlik otsing-asendamine).

  • plugina_nimi peaks saama my_awesome_plugin
  • Plugin_Name peaks saama My_Awesome_Pluginiks
  • plugina nimi peaks saama minu-vinge pistikprogrammiks

Kui olete lõpetanud, täitke kindlasti põhifaili päise kommentaar (minu-vinge-plugin.php), et kohandada seda oma vajadustele.

Sisukord

WordPressi pistikprogrammi katteplaadis on palju. Idee on kehtestada ranged juhised, kuhu asju panna. Konksude lisamiseks on üks konkreetne koht, tavaline koht esiotsa funktsioonide lisamiseks ja nii edasi. Vaatame põhilisi raamistiku osi.

Pange tähele, et viitan failidele ümbernimetatud failidele, näiteks: sisaldab / class-my-awesome-plugin.php. Kui olete oma pistikprogrammi ümber nimetanud millekski muuks, peate meeles pidama, et faili nime osa minu vinge pistikprogramm on teie jaoks erinev.

Aktiveerimine, deaktiveerimine ja desinstalleerimine

Kõik koodid, mida soovite plugina aktiveerimisel käivitada, peaksid sisaldama / my-awesome-plugin-name-activator.php. Selles failis on klass nimega My_Awesome_Plugin_Activator, mille sees on aktiveerimise () meetod, mida peaksite kasutama.

Ärge muretsege, kui te pole veel objektidega kiiruses, tead, kuhu asjad panna, piisab alustamiseks.

Deaktiveerimisel käivitatav kood peaks olema paigutatud kausta / my-awesome-plugin-name-deactivator.php. Peate kasutama My_Awesome_Plugin_Deactivaatori aktiveerimismeetodit ().

Kas sa arvad, et see on natuke liiga keeruline? Ma ei süüdista sind! Kui hakkate kasutama objektorienteeritud kontseptsioone, näete selle eelist protseduurikoodi ees. Kui mitte midagi muud, pakub see koodi ilmutamiseks väga ilmse koha, mis on iseenesest tohutu abi.

Desinstalleerimiseks on soovitatav kasutada uninstall.php, mida WordPressi pistikprogrammi katelplaat teeb. Teie kood tuleks asetada selle faili kõige alumisse ossa.

Konksude lisamine

Konksud käsitlevad WordPressi pistikprogrammi katlaplaati hämmastavalt, kuid see võib alguses tunduda pisut kohmakas. Kõik teie konksud tuleks paigutada kausta / class-my-awesome-plugin.php. Täpsemalt, klassis My_Awesome_Plugin kahel viisil:

  • define_public_hooks () esiotsa kasutatava konksu lisamisel
  • define_admin_hooks (), kui lisate konksu, mida kasutatakse taustal

Add_action () või add_filter () tavapärase kasutamise asemel peate asju tegema pisut teisiti. Nii saate muuta näiteks postituse sisu.

$ see->laadur->add_action (‘the_content’, $ plugin_public, ‘modify_post_content’);

Esimene parameeter on konksu nimi, teine ​​on viide avalikule või administratiivobjektile. Avalike konksude puhul peaks see olema $ plugin_public, administratiivkonksude korral peaks see olema $ plugin_admin. Kolmas parameeter on konksufunktsioon.

Ehkki see tundub keerukam, standardiseerib konksude lisamine täielikult, jagades need protsessi kaheks eraldi rühmaks.

Avalik ja administratiivne sisu

WordPressi pistikprogrammi katlaplaat jagab konksud administraatori / avalikesse rühmadesse, kuid see pole veel kõik. See jagab kogu teie koodi samal viisil, paludes teil kirjutada avalikku kausta avalikkuse ees olev kood ja administraatori kausta administraatori poole suunatud kood.

Mõlemad kaustad sisaldavad css-, js- ja osalisi kaustu. Nendesse kaustadesse peaksite paigutama kasutatud CSS / JS-i varad ja kirjutama partitsioonide kausta mallid ja muud HTML-i korduvkasutatavad bitid. Uute failide loomine kaustade kaustas on õigustatud, tegelikult see on selleks!

Peaksite oma konksuga seotud funktsioonid kirjutama ka neisse kaustadesse, klassisisestesse vastavatesse kataloogidesse. Kui me ühendasime funktsiooni modify_post_content ülaloleva sisuga, ütlesime WordPressi pistikprogrammi katteplaadile, kust seda samuti otsida. Kuna lisasime selle avalikkusele avatud küljele, eeldab WordPressi plugina katlaplaat, et see määratletakse avalikus kaustas asuvas klassis My_Awesome_Plugin_Public. Lihtsalt looge see funktsioon klassis ja kirjutage kõik muu nagu tavaliselt.

Ressursid ja sõltuvused

Kui soovite kasutada väliseid ressursse, näiteks TGM-pistikprogrammi aktiveerimine, siis peaksite selle lisama kausta. TGM on üksikfail nimega class-tgm-plugin-activation.php, mis tuleks lisada faili class-my-awesome-plugin.php, kasutades meetodit load_dependencies ():

plugin_dir_path (_nimi nõutakse) (dirname (__FILE__)). ‘sisaldab / class-tgm-plugin-activation.php’;

Ülevaade

Kas olete kõik failinimed ja funktsioonid segamini ajanud? Ärge muretsege, selle saate riputada üsna kiiresti. Tegelikult muudate tavaliselt ainult kolme faili:

  • hõlmab / class-my-awesome-plugin.php, kuhu lisate kõik oma konksud ja sõltuvused.
  • public / class-my-awesome-plugin-public.php on koht, kuhu lisate kõik avalikkusele suunatud funktsioonid.
  • admin / klass-minu-vinge plugin-admin.php on koht, kuhu lähevad kõik administraatori ees olevad funktsioonid.

Alguses võib WordPressi pluginakatlaplaadi kasutamine tunduda vaeva, kuid lõpuks tasub see end ära. Te tulete tagasi aasta pärast tagasi ja teate, kus kõik on, teie pistikprogrammi arendus on standardiseeritud toodete vahel ja ka teised arendajad saavad aru, mis toimub.

Lõpuks ärge unustage, et lihtsat vidinat pakkuv pistikprogramm ei pruugi sellist raamistikku vajada. Ehkki WordPressi pistikprogrammi katteplaadi kasutamine teie pluginat ei aeglusta, ummistab see vaate, kui vajate vaid mõnda lihtsat koodirida.!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map