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

Kuidas juhtida WordPressis postituste Gutenbergi plokke: keelake plokid ja blokeerimismallid

11

WordPressi uus toimetaja Gutenberg annab autorile rikkaliku sisu loomiseks suure paindlikkuse. Kuid mõnel juhul peate võib-olla seda pisut piirama, kas saidi veebihaldurina või teemaarendajana. Selles postituses vaatleme, kuidas saame PHP abil Gutenbergis plokipiiranguid pakkuda.

Seal on sisseehitatud funktsioonid teatud piirangute seadmiseks plokkidele, mida paljud veel ei tunne. See võib olla kasulik, kui vajate teatud postitusi, et järgida sama kujundust või sisu, või kui soovite aidata mittetehnilistel autoritel Gutenbergi plokkide arvu tõttu mitte rabada. Teine näide hõlmab vajalike reklaamiplokkide automaatset lisamist (kui teil on reklaamiplugin) postituste tekstide vahele. Saate seda kas sundida või kasutada neid tehnikaid, et aidata autoritel neid lisada.

Selles postituses vaatleme kahte võimalust, kuidas saate WordPress Gutenbergis plokke juhtida. Üks võimalus on piirata, milliseid plokke saab lisada. Teisisõnu eemaldage teatud plokitüübid, mida te ei soovi saada. Saame seda teha konkreetselt postitüübi järgi või globaalselt. Teine võimalus on kasutada plokimalle. WordPress pakub teile uue postituse loomisel eelmääratletud plokkide komplekti otsustamist. Seda tehakse postituse tüübi järgi. Plokimallide abil saate pakkuda autorile esialgseid plokke, mis aitavad tal postitust kirjutada, või lukustada plokid oma kohale, et autor ei saaks oma asukohta muuta ega uusi lisada.

Neid mõlemaid saate teha kas PHP või Javascriptiga. See juhend hõlmab PHP-viisi.

Eemaldage plokkide tüübid

Must nimekiri

WordPressis on PHP-filter nimega allowed_block_types. See filter annab teile kaks parameetrit; kõigi plokkide massiiv ja postiobjekt. Kõik, mida peame tegema, on massiivi haldamine enne selle tagastamist. Ja kuna me saame filtrisse ka postitusobjekti, saame lisada reegleid ka postituse tüübi või muu postituse metateabe järgi.

Plokkide massiiv koosneb ploki nimeruumi nimede stringidest. Kõik WordPressi plokid nõuavad eesliitega nimeruumi enne ploki nime. WordPressi põhiplokkide puhul on nimeruum " core/" ja WordPressi manustatud plokkide puhul on nimeruum " core-embed/". Näiteks pealkirjaploki nimi core/headingon selles massiivis " ". Lõin täieliku ülevaate kõigi plokitüüpide nimedest oma postituses teemal Kuidas postituse plokkidele juurdepääsemiseks ja sõelumiseks.

Siin on kiire näide filtri kasutamisest kõigi plokkide, välja arvatud lõigu, eemaldamiseks. See kehtib kõigi postituste tüüpide kohta.

add_filter('allowed_block_types', function($block_types, $post) { return ['core/paragraph']; }, 10, 2);

Kui lisate selle koodi oma teema functions.phpvõi pistikprogrammi faili, keelab Gutenberg täielikult kõik muud plokid peale lõigu. Te ei näe isegi muid plokke, samuti ei saa te proovida neid välja meelitada, tippides /postitusse (bloki otsetee) või otsides neid.

Saame määrata postituse tüübi järgi plokid, mida soovime säilitada või eemaldada. Kontrollime lihtsalt postiobjekti kinnisvara post_type. Allolevas koodinäites määratleme uue massiivi plokkidest, mida tahame lubada, ja lisame selle reegli ainult kohandatud postituse tüübi jaoks book.

Ülaltoodud koodiga saate postituste ja lehtede redigeerimisel kõik plokid, kuid kohandatud postituse tüübi " book" muutmisel saate lisada ainult lõike, pealkirju ja üksikuid pilte.

Kasutage oma kujutlusvõimet oma reeglite lisamiseks. Kuna meil on postiobjekt, pääseme ligi enamikule vajalikust teabest. Võib-olla peate piirama ploki valikuid posti metaväärtusega? Näiteks valitud lehemalli, valitud postituse kategooria või millegi muu järgi.

Valge nimekiri

Niipalju kui ma näen, saate plokke ainult valgesse nimekirja lisada (otsustage, millised eemaldada, mitte otsustada, milline neist alles jätta), eemaldades plokid teatud hetkel. Ja seda tuleb teha Javascripti, mitte PHP-ga.

Ma ei hakka seda üksikasjalikult kirjeldama, kuid peate järjekorda laadima Javascripti faili, mis on laaditud initvõi enqueue_block_editor_assetskonksuga, sõltuvusega wp-dom-readyja wp-blockssõltuvusena. Skriptis saate seadistada muutuja(te), mida soovite eemaldada, järgides ülaltoodud nimeruumide ja plokkide nimede jaoks samu reegleid. Ja iga ploki nime puhul kutsute välja funktsiooni unregisterBlockType()paketist wp.blocks. Tavaliselt peaksite seda tegema sisselülitatud funktsiooni sees, wp.domReady()et tagada skripti laadimise järjekord.

Midagi sellist:

var removeBlocks = [ 'core/paragraph', 'core/heading', 'core/image' ];   wp.domReady(function() { removeBlocks.forEach(function(blockName) { wp.blocks.unregisterBlockType(blockName); }); });

Plokkide eemaldamine on Gutenbergis üks plokkide juhtimise viise. Vaatame teist, võib-olla lõbusamat viisi plokkide juhtimiseks: plokkide mallid.

Blokeeri mallid

Teine viis Gutenbergi plokkide juhtimiseks WordPressis on plokimalle kasutamine. WordPressil on funktsioon, mis võimaldab teil täita uusi postitusi eelnevalt määratletud plokkide komplektiga. See võib olla kasulik autorite abistamiseks, näidates neile ploki struktuuri soovitust. Samuti saate need eeltäidetud plokid lukustada, mis ei võimalda autoritel plokke ümber järjestada ega lisada. See on kasulik, kui soovite, et postitustel oleks konkreetne struktuur ja kujundus – näiteks veenduge, et kõigi seda tüüpi postituste teave on täpselt sama struktureeritud.

Funktsioonile, mida kasutatakse kohandatud postitustüüpide registreerimiseks, saame lisada uue parameetriga plokimalle [register_post_type](https://developer.wordpress.org/reference/functions/register_post_type/)()(märkus: uut parameetrit pole veel dokumentatsiooni lisatud). Saate parameetreid lisada või kohandada ka olemasolevatele postitustüüpidele (nt postitustele ja lehtedele – kuidas seda teha allpool).

Uus parameeter register_post_type()on " template". „ " väärtusena templatepeate esitama plokkide massiivi. Iga plokk peab olema ka massiiv. Vähemalt peate esitama massiivi esimese elemendi; ploki nimi (nt core/paragraph). Soovi korral saate lisada teise massiivi elemendi atribuutide jaoks ja kolmanda massiivi elemendi pesastatud plokkide jaoks (nt kaane-, veeruplokid). See muutub selgemaks, kui näete koodi.

Alustame lihtsast. Oletame, et meil on register_post_type()kohandatud postituse tüübi ‘ ‘ registreerimiseks funktsioonikutse book. Tahame kõik uued seda tüüpi postitused eeltäida lõiguplokiga, mille kohahoidja ütleb autorile, mida ta peaks kirjutama.

Pange tähele, et atribuutide massiiv (koos kohahoidjaga) on valikuline. Nüüd, selle malli parameetriga, kui me uusi postitusi loome, luuakse see lõiguplokiga, millel on kohahoidja "Kirjutage oma sissejuhatus siia…".

Vaatame keerulisemat näidet: pesastatud plokid. Oletame, et tahame lisada kaaneploki, mille sees on päiseplokk, lõik ja nupp, mis on joondatud keskele. Pealkirjal ja lõigul on kohatäide:

Alloleval pildil on näha, mida me uute raamatupostituste loomisel saame. See näeb välja vähem hirmutav kui tühi lõuend, eks?

Kuidas juhtida WordPressis postituste Gutenbergi plokke: keelake plokid ja blokeerimismallid

Pidage meeles, et atribuudid on iga plokitüübi puhul erinevad ja võivad erineda ka teie seadistuses. Ülaltoodud koodinäites lisan kaaneplokile kaks atribuuti; blokeerige joondus "täislaiusele" ja ülekatte värv eelmääratletud värvile kohandatud värvipaletist.

Plokkide joondused „Wide Width” ja „Full Width” peavad olema teie teemas spetsiaalselt toetatud. Mul on postitus, mis selgitab, kuidas lisada oma teemale tuge täiendavate plokkide joondamiseks, kui te pole sellega tuttav. Teiseks on minu teema kohandatud Gutenbergi värvipaleti pakkumine, kus üks paletivärvidest kannab nime "sinine profiil". Tõenäoliselt pole seda teie koodis olemas. Ülaltoodud link selgitab seda ka siis, kui te ei tunne ka kohandatud Gutenbergi paletti.

Põhjus, miks ma valin atribuudina ülekattevärvi, tuleneb kaaneploki käitumisest. Katteploki loomisel palutakse teil valida taustapildi või taustavärvi valimise vahel. Kuni autor ühe neist aktiivselt valib, peidab kaaneplokk kogu sisu (meie lisatud pealkirja, lõigu ja nupu)! Need ilmuvad pärast pildi või värvi valimist ootamatult. Seetõttu olen segaduse vältimiseks eelnevalt valinud taustavärvi, et autor näeks kohe kõiki sees olevaid plokke. Värvi saab nagunii Inspektoris (külgribal) alati muuta.

Blokeerimismalli lukustamine

Kaasasoleva plokimalliga saab autor kõiki eeltäidetud plokke ümber korraldada ja eemaldada, samuti lisada uusi plokke kõikjal, kus ta soovib. Kui soovite seda vältida, on veel üks parameeter register_post_type(): ‘ template_lock‘.

Parameeter " template_lock" aktsepteerib kahte väärtust; ‘ all‘ või ‘ insert‘.

Kui määrate ‘ template_lock‘ väärtusele " all", blokeeritakse autoritel täielikult teie plokimalli ümberkorraldamine, eemaldamine või uute plokkide lisamine. Nad saavad redigeerida ainult plokimallina määratletud plokkide sisu ja sätteid. See on kasulik juhtudel, kui soovite, et kõik postituse tüübid koosneksid samadest plokkidest samas järjekorras – ei rohkem ega vähem.

Kasutades ‘ insert‘ jaoks " template_lock", saavad autorid ploki mallis plokke ümber korraldada. Kuid autorid ei saa endiselt uusi plokke lisada ega ühtegi plokki kustutada.

Kohandatud postituse tüübi „ book” jaoks blokeerimismalli täielikult lukustamiseks tehke järgmiselt.

Lukustatud plokimalli kasutamine Gutenbergis näeb välja selline, nagu allpool. Pange tähele, et puuduvad plokkide ümberpaigutamise toiminguikoonid, samuti puuduvad menüüst plokkide eemaldamise lingid. Samuti pole kuskil toiminguikoone uute plokkide lisamiseks (väike "+").

Kuidas juhtida WordPressis postituste Gutenbergi plokke: keelake plokid ja blokeerimismallid

Plokimallide kohandamine olemasolevate postitustüüpide jaoks

Kui soovite postitustel või lehtedel kasutada plokimalle, saate seda ka teha. Ühendage funktsioon külge initja kasutage [get_post_type_object](https://developer.wordpress.org/reference/functions/get_post_type_object/)(). Sisestage parameetrina soovitud postituse tüüp (kas " post" või). See tagastab objekti, millele saate määrata atribuudid " template" ja " template_lock".

See on näide ülaltoodud plokimalli ja lukustusomaduste lisamisest lehtedele:

Järeldus

Selles postituses õppisime, kuidas saavutada WordPressi Gutenbergi redaktoris suurem kontroll plokkide üle. Sellel on palju eeliseid, eriti koos kohandatud postitustüüpidega, mis peavad järgima kindlat struktuuri. Ülaltoodud tehnikate kasutamine aitab teil oma protsessi sujuvamaks muuta nii veebihaldurina (aitades inimestel paremaid postitusi kirjutada) kui ka teemaarendajana (tagades ühise kujunduse). Lukustatud plokimallid võivad olla erinev lahendus kui kohandatud postitusmallid ja postituse meta.

Plokimallide kohandamine on praegu Gutenbergi üsna varjatud funktsioon. Kuid ma eeldan, et see muutub, kui Gutenberg areneb ja saab WordPressis tuttavama koha.

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