✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Kuinka poistaa Gutenbergin lohkot käytöstä

13

Yksi yleisimmistä ongelmista teeman tai laajennuksen päivittämisessä Gutenberg-lohkoilla on, että lohkokoodin muuttaminen rikkoo kaikki olemassa olevat viestit, jotka käyttävät kyseistä lohkoa. Onneksi WordPress tarjoaa ratkaisun; tapa poistaa lohkot käytöstä. Tässä viestissä katsomme, kuinka tämä tehdään.

Jos olet työskennellyt lohkojen kehittämisen parissa ennen kuin olet luultavasti perehtynyt tähän lohkovirheeseen, kun olet lisännyt lohkon ja myöhemmin muuttanut savetoimintoa.

Kuinka poistaa Gutenbergin lohkot käytöstä

Tämä johtuu siitä, että WordPress vertaa tietokantaan tallennettua lohkoa lohkosi savefunktion nykyiseen koodiin, eivätkä ne täsmää. WordPress ei pysty korjaamaan eroa. Useimmissa tapauksissa voit klikata lohkon kolmea pistettä ja valita "Yritä lohkopalautus". Jos savefunktioon tehdyt muutokset olivat pieniä (esim. luokkamuutos), WordPress pystyy palauttamaan lohkon. Pahimmassa tapauksessa d sinun on napsautettava "Muunna HTML:ksi" ja menetät lohkosi edittoiminnallisuuden. Emme tietenkään voi odottaa, että estokoodimme käyttäjät löytävät manuaalisesti kaikki viestit käyttämällä tätä lohkoa ja suorittavat nämä vaiheet jokaiselle.

Joten ennen kuin teemme päivityksiä savetoimintoon, lisäämme koodin kertomaan WordPressille, kuinka vanhalla savetoiminnolla tallennettua vanhaa sisältöä käsitellään.

Mennään koodiin!

Se on itse asiassa aika yksinkertaista. Lyhyesti sanottuna meidän on tehtävä; lisää deprecatedominaisuus registerBlockType()funktiokutsuun. Tämä ominaisuus odottaa joukkoa. Tämä tarkoittaa, että voit poistaa lohkon käytöstä useita kertoja antamalla useita merkintöjä taulukkoon. Jokainen poisto määritellään objektiksi, jolla on täydellinen attributesominaisuus ja (vanha) savetoiminto.

Toisin sanoen määrität deprecatedominaisuuden taulukoksi ja kopioit sitten lohkosi attributesja savefunktiosi siihen. Sinun on sisällytettävä attribuutit, vaikka et muuta niissä mitään päivityksessä. Toimintoa ei tarvitse sisällyttää editpoistoihin.

Katsotaanpa tätä käytännön esimerkissä.

Oletetaan, että estokoodimme näyttää tältä. Toiminto editon jätetty pois, koska meidän ei tarvitse käsitellä sitä poistoissa.

Oletetaan sitten, että haluamme tehdä muutoksia molempiin määritteisiin ja tallentaa ja välttää olemassa olevien lohkojen rikkomista. Lisäämme deprecatedominaisuuden ja kopioimme siihen koko attributesja savetaulukkoelementtinä. Sitten voimme vapaasti tehdä muutoksia attributestai/tai savetoimintoihin.

Kun tämä koodi on käännetty, voit etsiä olemassa olevan viestin vanhalla estokoodilla, eikä sinun pitäisi saada rikkinäistä koodia!

WordPress selvittää, että lohko käyttää vanhentunutta koodiamme, ja lataa sisällön käyttämällä vanhentunutta savekoodia. Kun teet muutoksia lohkoon ja päivität viestin, lohko tallennetaan käyttämällä uutta savetoimintoa.

Edistyneempi poisto ja lisälukeminen

Yllä oleva koodiesimerkki on poistojen yksinkertaisin muoto. WordPress tukee enemmän toimintoja, kuten sisällyttämistä migrateja supportsjopa vakioiden (ajattele versionumeroiden) määrittämistä vanhentuneelle koodillesi. Tutustu WordPressin dokumentaatioon lohkopoistoista.

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja