✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

WordPressi vidinad: ümbertöötamine, 7. osa

4

Viimastes postitustes oleme teinud palju tööd, et viia kood ümbertöötamise punktini, mida selles artiklis käsitletakse.

Täpsemalt oleme käsitlenud järgmist:

Kõik need mängivad rolli selles, mida me täna teeme.

WordPressi vidina katlaplaat: ümbertöötamine, 7. osa

Need, kes on WordPressi vidinate API -ga tuttavad, teavad tõenäoliselt, et see pole viimastel aastatel palju muutunud.

Lisaks koosneb see tegelikult ainult neljast funktsioonist (millest üks on konstruktor):

  1. Konstruktor vastutab vidina mitme atribuudi, kõige sagedamini selle nime ja kirjelduse, määramise eest.
  2. Vidina funktsioon vastutab vidina sisu renderdamise eest.
  3. Vormi funktsioon vastutab vidinaga töötamisel vormi kuvamise eest WordPressi haldusalas.
  4. Värskendusfunktsioon vastutab andmebaasi salvestatud valikute värskendamise eest (või lähtestab ja seejärel salvestab suvandid, mida andmebaasis veel ei pruugi olla).

Tore on see, et see konkreetne lähenemine saavutatakse WP_Widget klassi funktsionaalsuse pärimisega.

Probleem on aga selles, et ühe klassi jaoks on see palju tööd.

Selle asemel peaksime eraldama kõik funktsioonid oma funktsionaalsusaladeks.

Nagu iga programmeerimise puhul, on ka viise, kuidas mõned asjad on selged, kuidas neid saab teha, ja siis on asju, mida saab teha mitmel viisil.

Esitan seda, kuidas ma praegu sellele lähenen. See võib tulevikus muutuda või võib-olla mitte ja teistel võib see olla erinev.

Sellest hoolimata on rakendamine palju rohkem objektorienteeritud ja annab igale klassile oma kohustused.

Esimene küsimus on aga, kuidas jagada nelja funktsiooniga klass, mis pärib ülemklassilt?

Bootstrapi värskendamine

Esiteks peame pistikprogrammi alglaadimisribas kohandama mõnda asja. Nimelt peame tegema järgmist:

  1. luua registri ja teha see projekti kaudu kättesaadavaks,
  2. värskendage pluginaklassi, et see aktsepteeriks registrit ja laadiks tellijad,
  3. vaata alglaadimisriba üle

Siin on ülevaade kõigist kolmest ülaltoodust.

1 Looge register

Kuna oleme seda juba sarjas varem käsitlenud, peaks olema selge, kuidas seda teha.

Esiteks vaadake järgmist koodi :

Järgmisena pange tähele, et me loome registri (räägime hetkeks selle nimeruumist) ja ühendame selle kohandatud filtriga, mis võimaldab meil sellele pistikprogrammis igal ajal juurde pääseda.

2 Värskendage pluginaklassi

Järgmisena peame värskendama pistikprogrammi põhiklassi (mis asub  kataloogis src ), et see viitaks registrile ja laadiks kõik registreeritud abonendid :

Pange tähele, et me pole veel ühtegi tellijat loonud. Alustasime seda sarja varem ja nüüd on aeg selle juurde tagasi tulla, kuid teeme seda hiljem.

Peame siiski lisama funktsiooni – isegi kui see on ajutine –, et saaksime lisada klasse, mis ei ole konkreetse sündmuse tellijad:

Seda muudetakse hiljem, kuna muudame põhiklassid hiljem tellijateks.

3 Vaadake üle Bootstrap

Enne edasiminekut on minu arvates oluline alglaadimisseade üle vaadata. Kuigi teie päis ja dokumentatsioon võivad erineda, on oluline meeles pidada, et teeme järgmist.

  • alglaadimisriba nimevahe,
  • failile juurdepääsu takistamine,
  • automaatlaaduri helistamine,
  • registri seadistamine,
  • ja pistikprogrammi käivitamine.

See kõlab palju, kuid kood on üsna lühike :

Siinkohal on aga aeg vaadata, mis tunne on jagada alamklass tavalisest vidinate API -st millekski, mis sobib meie kasutatava koodimudeliga.

Lapse klassi jagamine

See osa hõlmab tõenäoliselt mõnda postitust, kuna seal on veel natuke tööd teha, kuid alustame oma vidinaklassi loomisega, mis pärib põhividinate klassist.

Kõigepealt tehke src kataloogis API kataloog ja lisage fail nimega Widget.php. See on koht, kus asuvad vidina põhitõed. Järgmises postituses käsitleme administratiivseid ja avalikke laaditabeleid ning JavaScripti faile.

Siinkohal peaksid faili põhitõed välja nägema järgmised :

Pange tähele, et selleks on vaja ühte argumenti. Olen kasutanud vidina nimi, kuid võite kasutada mida iganes soovite, kui see tähistab teie vidinat.

Selle eesmärk on näidata, et klass on pistikprogrammi aktiveerimisel õigesti instantseeritud ja laaditud. Kui te seda ei näe, siis on midagi valesti (selle vaatame kohe üle).

Järgmiseks on oluline veenduda, et see klass on registrisse lisatud. Seega lisage alglaadimisriba järgmised koodiread:

Ja nüüd, kui aktiveerite pistikprogrammi, peaksite nägema järgmist:

WordPressi vidinad: ümbertöötamine, 7. osa

Kui ei, siis vaadake kindlasti arendusharus olev kood üle ja veenduge, et teil on kõik selles postituses kirjeldatu olemas.

Rakendatavad tellijad

Järgmistes postitustes vaatleme, kuidas saaksime tellijaid saidi avalikul küljel (st kus kuvatakse vidina sisu) juurutada. Sama teeme ka saidi haldusalaga.

Lõpuks pöörame tähelepanu koodile, mis vastutab andmete turvamise ja serialiseerimise eest (loe: meie vidina värskendamine) ning seejärel vaatame, milline näeb välja värskendatud katlaplaadi lõplik versioon.

Selles postituses on aga peamine strateegia, mida me kasutame, alamklassi jagamine, nii et seda saab siiski kasutada teiste klassidega, kasutades liideseid ja baasklasse, mis on koodibaasis juba määratletud.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem