Üks levinumaid probleeme Gutenbergi plokkidega teema või pistikprogrammi värskendamisel on see, et ploki koodi muutmine katkestab kõik seda plokki kasutavad olemasolevad postitused. Õnneks pakub WordPress lahendust; viis blokeerida plokid. Selles postituses vaatame, kuidas seda teha.
Kui olete varem plokkide arendamisega töötanud, olete tõenäoliselt selle ploki veaga tuttav, kui olete ploki lisanud ja hiljem save
funktsiooni muutnud.
See juhtub seetõttu, et WordPress võrdleb andmebaasis salvestatud plokki save
teie ploki funktsiooni praeguse koodiga ja need ei ühti. WordPress ei suuda erinevust parandada. Enamasti saad klõpsata plokil kolmel punktil ja valida “Proovi blokeerida taastamist". Kui save
funktsioonis tehtud muudatused olid väikesed (nt klassivahetus), suudab WordPress ploki taastada. Halvimal juhul d Peate klõpsama "Teisenda HTML-iks" ja te kaotate oma ploki edit
funktsionaalsuse. Ilmselgelt ei saa me eeldada, et meie blokeerimiskoodi kasutajad leiavad käsitsi kõik seda plokki kasutavad postitused ja teevad igaühe jaoks need toimingud.
Nii et enne save
funktsiooni värskenduste tegemist lisame koodi, mis annab WordPressile teada, kuidas käsitleda vana sisu, mis on salvestatud vana save
funktsiooniga.
Lähme koodi sisse!
See on tegelikult üsna lihtne. Lühidalt, mida me tegema peame, on; lisage funktsioonikutsele deprecated
atribuut. registerBlockType()
See vara eeldab massiivi. See tähendab, et saate ploki mitu korda aegunud, lisades massiivi mitu kirjet. Iga amortisatsioon on määratletud kui objekt, millel on täielik attributes
omadus ja (vana) save
funktsioon.
Teisisõnu määratlete deprecated
atribuudi massiivina ja seejärel kopeerite sellesse oma ploki attributes
ja save
funktsiooni. Peate lisama atribuudid, kuigi te ei muuda neis värskenduses midagi. Te ei pea edit
funktsiooni amortisatsiooni arvestama.
Vaatame seda praktilisemas näites.
Oletame, et meie blokeerimiskood näeb välja umbes selline. Funktsioon edit
on välistatud, kuna me ei pea sellega amortisatsiooniga tegelema.
Seejärel oletame, et tahame teha muudatusi mõlemas atribuudis ning salvestada ja vältida olemasolevate plokkide purustamist. Lisame deprecated
atribuudi ja kopeerime sellesse kogu attributes
ja save
massiivi elemendina. Seejärel saame teha mis tahes muudatusi attributes
ja/või save
funktsiooni.
Kui see kood on koostatud, saate otsida olemasolevat postitust vana plokkkoodi abil ja te ei tohiks katkist koodi saada!
WordPress selgitab välja, et plokk kasutab meie aegunud koodi, ja laadib sisu vananenud save
koodi abil. Kui teete plokis muudatused ja värskendate postitust, salvestatakse plokk uue save
funktsiooni abil.
Täpsem amortisatsioon ja edasine lugemine
Ülaltoodud koodinäide on amortisatsiooni kõige elementaarsem vorm. migrate
WordPress toetab rohkem funktsioone, näiteks supports
lisamist ja isegi konstantide (mõelge versiooninumbritele) määramist teie aegunud koodile. Vaadake WordPressi dokumentatsiooni ploki amortisatsiooni kohta.