Редактор блоків Gutenberg у WordPress використовує React під капотом і дозволяє створювати власні блоки контенту. Це відкриває великі можливості для розробників, які хочуть надати клієнтам кастомні елементи з повним контролем над виглядом і логікою. У цій статті розглянемо, як створити свій власний блок на Gutenberg за допомогою React.
1. Підготовка середовища
Почнемо з базової структури плагіна:
- Створіть папку
my-custom-block
уwp-content/plugins
. - Додайте файл
my-custom-block.php
з оголошенням плагіна.
<?php
/**
* Plugin Name: My Custom Block
*/
function my_block_assets() {
wp_enqueue_script(
'my-custom-block',
plugins_url('block.js', __FILE__),
array('wp-blocks', 'wp-element', 'wp-editor', 'wp-components')
);
}
add_action('enqueue_block_editor_assets', 'my_block_assets');
2. Створення JavaScript-файлу
Створіть файл block.js
в корені плагіна. Приклад базового Gutenberg-блоку:
(function (blocks, element) {
var el = element.createElement;
blocks.registerBlockType('myplugin/hello-block', {
title: 'Hello Block',
icon: 'smiley',
category: 'common',
edit: function () {
return el('p', null, 'Привіт з власного блоку!');
},
save: function () {
return el('p', null, 'Привіт з фронтенду!');
},
});
})(window.wp.blocks, window.wp.element);
Цей код створює простий блок, який виводить текст у редакторі та на сайті.
3. Додавання стилів
Ви можете підключити CSS для стилізації вашого блоку:
- Створіть
style.css
— для фронтенду. - Створіть
editor.css
— для редактора.
Не забудьте підключити стилі через wp_enqueue_style
у функціях плагіна.
4. Компільований підхід через @wordpress/scripts
Для реальних проєктів краще використовувати npm і @wordpress/scripts
:
npx @wordpress/create-block my-block
Ця команда автоматично створить структуру плагіна з підтримкою ESNext, JSX і Webpack. Вам залишиться лише редагувати файл edit.js
у каталозі src
.
5. Приклади практичного використання
- Кастомні CTA-блоки з кнопками та стилізацією.
- Галереї, слайдери або таби, які зручно редагуються.
- Інтеграція з зовнішніми API (наприклад, погода, курс валют).
Висновок
Gutenberg — це не просто новий редактор, а сучасна платформа для створення гнучкого контенту. Власні блоки на React дозволяють реалізовувати найрізноманітніші компоненти — від простих до складних інтерактивних елементів. Використовуйте стандартний API WordPress або збірку через @wordpress/create-block
— і розширюйте можливості редактора на повну.
www.camping-channel.eu
www.camping-channel.info
www.campingchannel.eu
www.campingplaetze-niederlande.de
www.capelinks.com
www.cbckl.kr
www.ccof.net
www.centropol.de
www.chatcentralgateway.com
www.city-fs.de
www.cobaev.edu.mx
www.cos-e-sale.de
www.country-retreats.com
www.cotid.org
www.cricsim.com
www.dacristina.it
www.dailysportspages.com
www.denkmalpflege-fortenbacher.de
www.depar.de
www.derfischkopf.de
www.dessau-service.de
www.die-matheseite.de
www.digital-experts.de
www.direktiva.eu
www.dmxmc.de
www.dot-blank.com
www.dr-drum.de
www.dramonline.org
www.dj-enzo.net
www.drjw.de
www.dsl.sk
www.e-douguya.com
www.dynonames.com
www.eastvalleycardiology.com
www.e-learn.ru
www.ebreliders.cat
www.echoforum.com
www.ege-net.de
www.elienai.de
www.eloiseplease.com
www.endstate.com.au
www.enquetes.com.br
www.failli1979tuscany.com
www.faustos.com
www.fbcrialto.com
www.ephrataministries.org
www.fcterc.gov.ng
www.figuremodel.de
www.festivaldeltartufovero.it
www.fishinghunting.com
www.flooble.com
www.flugzeugmarkt.eu
www.fmisrael.com
www.fmx.dk
www.formula-web.jp
www.forum.sparkyfacts.co.uk
www.fouillez-tout.com
www.fr8ghtdog.com
www.fujidenwa.com
www.garagebiz.ru
www.gavgav.info
www.gaxclan.de
www.gazpromenergosbyt.ru
www.genesisturfgrass.com
www.geomedical.org
www.gewindesichern.de
www.gitsham.com.au
www.glad2bhome.com
www.glamourcon.com
www.glasgowapollo.com
www.gochisonet.com
www.goglogo.com
www.goldankauf-oberberg.de
www.google.ad
www.google.ba
www.google.be
www.google.co.ao
www.google.co.ck
www.google.com.ag
www.google.co.ke
www.google.com.gh
www.google.com.tn
www.google.de
www.google.com.sb
www.google.es
www.google.com
www.google.hn
www.google.hr
www.google.jo
www.google.it
www.google.kg
www.google.nu
www.gotocayman.co.uk
www.greekspider.com
www.greenmarketing.com
www.gta.ru
www.gtb-hd.de
www.hannobunz.de
www.hanabijin.jp
www.hartmanngmbh.de
www.harikyu.in
www.henning-brink.de
www.herna.net
www.hfw1970.de
www.hoboarena.com
www.hospitalityvisions.com
www.houthandeldesmet.be
www.hramacek.de
www.how2power.com
www.hometophit.com
www.huberworld.de
www.iga-y.com
www.iheartmyteacher.org
www.ijhssnet.com
www.ininternet.org
www.insidetopalcohol.com
www.intrahealthgroup.com
www.intlspectrum.com
www.iranspca.com
www.ixawiki.com
www.jachta.lt
www.jalizer.com
www.jschell.de
www.junix.ch
www.kalinna.de
www.kanaginohana.com
www.kestrel.jp
www.kinderverhaltenstherapie.eu
www.kirstenulrich.de
www.kevinharvick.com
www.knieper.de
www.kobe-charme.com
www.konradchristmann.de
www.kpsearch.com
www.kraeved.ru
www.krankengymnastik-kaumeyer.de
www.kuri.ne.jp
www.lanarkcob.org
www.larscars.com
www.leftkick.com
www.leimbach-coaching.de
www.lethalitygaming.com
www.lifetimefinancialadvisers.co.uk
www.lobenhausen.de
www.lotus-europa.com
www.lovelanelives.com
www.lureanglersonline.co.uk
www.m-thong.com
www.maganda.nl
www.marchien.net
www.marstruct-vi.com
www.martincreed.com
www.masekaihatsu.com
www.meccahosting.co.uk
www.mech.vg
www.meccahosting.com
www.mediaci.de
www.mediaci-press.de
www.mejtoft.se
www.merchantech.co.uk
www.militarian.com
www.mitte-recht.de
www.mobilepcworld.net
www.mosig-online.de
www.mozaffari.de
www.mrpretzels.com
www.muehlenbarbek.de
www.muppetsauderghem.be
www.musikspinnler.de
www.nagerforum.ch
www.nashi-progulki.ru
www.naughtyallie.com
www.naughtyjulie.com
www.ndxa.net
www.neilhalstead.com
www.newhopebible.net
www.neko-tomo.net
www.nittmann-ulm.de
www.nightdriv3r.de
www.noize-magazine.de
www.no-harassment.net
www.northraleighleads.com
www.novalogic.com
www.nwnights.ru
www.objectif-suede.com
www.office-mica.com
www.onesky.ca
www.online-power.com
www.opera.ie
www.orta.de
www.osbmedia.com
www.outkastfishingforum.com
www.pahu.de
www.pantybucks.com
www.patrick-bateman.com
www.patriot-home-sales.com
www.paul2.de
www.peacememorial.org
www.peterblum.com
www.pickyourownchristmastree.org.uk
www.pingfarm.com
www.piano-p.com
www.plantdesigns.com
www.politicalforum.com
www.polosedan-club.com
www.potthof-engelskirchen.de
www.primondo.de
www.priuswiki.de
www.proffiliates.com
www.publicanalyst.com
www.questsociety.ca
www.ra-aks.de
www.rae-erpel.de
www.ralf-strauss.com
www.ralph-rose.de
www.raphustle.com
www.reddotmedia.de
www.reinhardt-online.com
www.reisefuchsforum.de
www.reko-bioterra.de
www.rheinische-gleisbautechnik.de
www.riverturn.com
www.rogerwoodward.com
www.russiacc.jp
www.sa-shi.com
www.salonsoftware.co.uk
www.sanbornstravel.com
www.sargsplitter.de
www.satilmis.net
www.schlimme-dinge.de
www.scampatrol.org
www.schulz-giesdorf.de
www.scsa.ca
www.security-scanner-firing-range.com
www.sebastianmenschhorn.at
www.sebchurch.org
www.seniorsonly.club
www.sellere.de
www.seymoursimon.com
www.shogundojo.com
www.siam-daynight.com
www.shop-vida.com
www.skolapotapeni.cz
www.smartphone.ua
www.sorenwinslow.com
www.sozialemoderne.de
www.sousei-ikoma.com
www.speedmap.waiblingen.de
www.speuzer-cup.de
www.sportsforum.com
www.sportstwo.com
www.sprang.net
www.squeegeeworld.com
www.startgames.ws
www.startuppr.co.uk
www.staudy.de
www.states.com.au
www.ssnote.net
www.stevelukather.com
www.stoneline-testouri.de
www.strattonspine.com
www.stuff4beauty.com
www.sublimemusic.de
www.sv-mama.ru
www.sweetninasnomnoms.com
www.tanakajimaru.co.jp
www.teamready.org
www.technitronic.com
www.terrasound.at
www.testron.ru
www.terrehautehousing.org
www.thearkpoolepark.co.uk
www.thecenterfoundation.org
www.tifosy.de
www.top-fondsberatung.de
www.tm-flavor.com
www.top-forum.ir
www.toku-jp.com
www.totallynsfw.com
www.trackroad.com
www.travelinfos.com
www.tucasita.de
www.ucrca.org
www.urmotors.com
www.ut2.ru
www.vatechniques.com
www.vectechnologies.com
www.virginiamaidkitchens.com
www.voidstar.com
www.vwbk.de
www.wdwip.com
www.webclap.com
www.week.co.jp
www.wellnesshotels-regionen.de
www.wetsuweten.com
www.whatmusic.com
www.whitelistdelivery.com
www.whatsmywebsiteworth.info
www.whoohoo.co.uk
www.wildner-medien.de
www.wicwiki.org.uk
www.wikipediaplus.org
www.wpex.com
www.x-jocuri.ro
www.xioshop.com
www.xtg-cs-gaming.de
www.yakubi-berlin.de
www.ypyp.de
www.yurit.net
www.zelmer-iva.de
www.ztrforum.de
www6.topsites24.de
xf4.org
xenforo.cc
xfrocks.com
xlnation.city
xn--80aairftanca7b.net
xneox.com
xow.me
yahsiworkshops.com
yami2.xii.jp
yesfest.com
yixing-teapot.org
zanostroy.ru
150.95.138.99
16.gregorinius.com
22.pexeburay.com
2fiftycc.com
3.caiwik.com
256.makerslocal.org
30secondstomars.ru
34.viromin.com
31.gregorinius.com
3darcades.com
50.farcaleniom.com
53.torayche.com
57.espresionium.com
54.cholteth.com
65.gregorinius.com
60.viromin.com
6giay.vn
84.caiwik.com
8bitiz.com
abn-ad.com
aboutams.com
account.eleavers.com
accounts.cancer.org
accounts.cancer.org
activitypub-viewer.glitch.me
actlimo.com.au
advancetabco.com
agentura-hermes.cz
agriturismo-toskana.it
ajpower.net
akpraht.ru
alenka.capital
allsp.ch
alpineinnhillcity.com
alt1.toolbarqueries.google.ac
ambitenergy.com
americanashopper.com
almanach.pte.hu
alpha.astroempires.com
ana.fibladi.com
anadoluyatirim.com.tr
animalgiftsgalore.com
anon.to
anonym.es
anolink.com
antoniopacelli.com
amjproduce.com.au
apc-overnight.com
app.betterimpact.com
app.espace.cool
app.randompicker.com
aquariumspace.com
arinastar.ru
armoryonpark.org
aromarti-cafe.ru
artprom.net
ashirovo.ru
atilekt.net
atlantis.pennergame.de
au.emembercard.com
auth.servizilocalispa.it
b.grabo.bg
azaunited.org
b2b.partcommunity.com
balmainsailingclub.com
banatanama.ir
barbaradicretico.com
barnsleyfc.org.uk
barnesoysters.co.nz
bbs.clutchfans.net
bbs.sinbadgroup.org
bbs.sp.findfriends.jp
bbsapp.org
berghorst.nl
bellegrove.org
bestintravelmagazine.com
beta-doterra.myvoffice.com
biker.vn
biss.kz
blog.ss-blog.jp
bloomsburybowling.com
board-en-risingcities.platform-dev.bigpoint.com
board-en.darkorbit.com
bmwclub.lv
board-en.skyrama.com
board-en.drakensang.com
board-en.piratestorm.com
boardoptions.com
board-en.farmerama.com
bostitch.co.uk
bostitch.eu
brennoefen.ch
bu.do4a.me
bs10.ru
buboflash.eu
bugcrowd.com
bugcrowd.com
builds.openbuilds.com
buya2z.net
busho-tai.jp
c-nami.ru
cafemmo.club
campingbabble.com
captcha.2gis.ru
carolands.org
cart.pesca.jp
cart.by-shizuka.jp
cart.saravio.jp
catinstitute.org
cawatchablewildlife.org
cart.yuyu-kenko.co.jp
cdn.feather.blog
cdn.123fastcdn.com
celticminded.com
chaoti.csignal.org
checkmate.ua
chiase.org
chomoto.vn
chyba.o2.cz
citrus-cables.com
cities.bythenumbers.sco.ca.gov
cinesourcemagazine.com
cityofhuntington.com
clarkinphillips.com
clients1.google.ae
clients1.google.al
clients1.google.al
clients1.google.at
clients1.google.am
clients1.google.as
clients1.google.ba
clients1.google.az
clients1.google.be
clients1.google.be
clients1.google.bf
clients1.google.bg
clients1.google.bi
clients1.google.bi
clients1.google.bj
clients1.google.bs
clients1.google.ca
clients1.google.by
clients1.google.cd
clients1.google.cd
clients1.google.cg
clients1.google.cf
clients1.google.ch
clients1.google.ch
clients1.google.ci
clients1.google.cl
clients1.google.cl
clients1.google.co.ck
clients1.google.cm
clients1.google.co.bw
clients1.google.co.il
clients1.google.co.id
clients1.google.co.id
clients1.google.co.cr
clients1.google.co.in
clients1.google.co.jp
clients1.google.co.jp
clients1.google.co.ke
clients1.google.co.kr
clients1.google.co.ma
clients1.google.co.ls
clients1.google.co.nz
clients1.google.co.th
clients1.google.co.mz
clients1.google.co.mz
clients1.google.co.ug
clients1.google.co.uz
clients1.google.co.vi
clients1.google.co.uk
clients1.google.co.vi
clients1.google.co.za
clients1.google.co.za
clients1.google.com.af
clients1.google.com.af
clients1.google.com.ai
clients1.google.com.ar
clients1.google.com.au
clients1.google.com.au
clients1.google.co.ve
clients1.google.co.ve
clients1.google.com.bh
clients1.google.com.bh
clients1.google.com.bo
clients1.google.com.bn
clients1.google.com.br
clients1.google.com.br
clients1.google.com.br
clients1.google.com.co
clients1.google.com.co
clients1.google.com.bz
clients1.google.com.cu
clients1.google.com.bd
clients1.google.com.do
clients1.google.com.cy
clients1.google.com.ec
clients1.google.com.eg
clients1.google.com.ec
clients1.google.com.et
clients1.google.com.et
clients1.google.com.gi
clients1.google.com.hk
clients1.google.com.hk
clients1.google.com.fj
clients1.google.com.gt
clients1.google.com.gt
clients1.google.com.kh
clients1.google.com.kw
clients1.google.com.jm
clients1.google.com.mt
clients1.google.com.lb
clients1.google.com.mt
clients1.google.com.mx
clients1.google.com.mx
clients1.google.com.my
clients1.google.com.ni
clients1.google.com.ni
clients1.google.com.np
clients1.google.com.np
clients1.google.com.ng
clients1.google.com.pa
clients1.google.com.ph
clients1.google.com.pk
clients1.google.com.pe
clients1.google.com.pr
clients1.google.com.nf
clients1.google.com.py
clients1.google.com.qa
clients1.google.com.sb
clients1.google.com.sa
clients1.google.com.sg
clients1.google.com.sa
clients1.google.com.sl
clients1.google.com.sv
clients1.google.com.tj
clients1.google.com.tr
clients1.google.com.tr
clients1.google.com.tw
clients1.google.com.tw
clients1.google.com.ua
clients1.google.com.vn
clients1.google.com.vn
clients1.google.com.uy
clients1.google.com.uy
clients1.google.com.vc
clients1.google.cv
clients1.google.cz
clients1.google.de
clients1.google.de
clients1.google.dj
clients1.google.dk
clients1.google.dz
clients1.google.es
clients1.google.ee
clients1.google.es
clients1.google.dm
clients1.google.fi
clients1.google.fi
clients1.google.fr
clients1.google.fr
clients1.google.ga
clients1.google.fm
clients1.google.gm
clients1.google.gr
clients1.google.gp
clients1.google.hn
clients1.google.hn
clients1.google.hr
clients1.google.ht
clients1.google.ht
clients1.google.hu
clients1.google.ie
clients1.google.hu
clients1.google.ie
clients1.google.it
clients1.google.jo
clients1.google.is
clients1.google.kg
clients1.google.kg
clients1.google.iq
clients1.google.ki
clients1.google.iq
clients1.google.li
clients1.google.la
clients1.google.kz
clients1.google.lk
clients1.google.lt
clients1.google.lu
clients1.google.lu
clients1.google.lv
clients1.google.mk
clients1.google.md
clients1.google.md
clients1.google.mg
clients1.google.ml
clients1.google.mn
clients1.google.mw
clients1.google.mu
clients1.google.ms
clients1.google.nl
clients1.google.pl
clients1.google.no
clients1.google.pt
clients1.google.ps