A Gutenberg-blokkok varázsa: Hogyan készíts saját, testreszabható blokkot WordPress weboldaladhoz?
Ha már hallottál a WordPress Gutenberg szerkesztőről, de úgy érzed, hogy a beépített blokkok korlátot szabnak kreativitásodnak vagy üzleti igényeidnek, akkor ez a cikk neked szól. Nem csak fejlesztőknek, hanem minden kisvállalkozónak és céges döntéshozónak, aki saját WordPress weboldal készítését vagy fejlesztését fontolgatja. Ma betekintést nyerünk abba, hogyan készíthetsz saját Gutenberg-blokkot egyedi beállításokkal – anélkül, hogy elmerülnél a technikai mélységekben.
Miért éri meg saját blokkot fejleszteni?
A Gutenberg nem csupán egy egyszerű szerkesztő, hanem egy teljes értékű, blokkalapú rendszer, amely forradalmasította a honlapkészítést. Gondolj csak bele: minden egyes webelem – bekezdés, kép, gomb, táblázat – egy blokk. De mi történik, amikor szükséged van valamire, ami nincs a kínálatban? Például egy speciális árképző táblázatra, egy egyedi referencialistára, vagy egy olyan időjárás-widgetre, amely pontosan a vállalatod brandingjével illeszkedik?
Itt jön képbe a saját blokk fejlesztése. Nem kell megalkudnod általános megoldásokkal. Létrehozhatsz olyan elemet, amely tökéletesen passzol az üzleti folyamataidhoz, és amelyet a marketingesed vagy a tartalomkészítőd is könnyedén használhat – anélkül, hogy kódot kellene írnia.
A háttérben: PHP és a blokk regisztráció
Minden egyedi blokk két részből áll: a backendből (ami PHP nyelven fut a szerveren) és a frontendből (ami a böngészőben él, JavaScript segítségével). Kezdjük a PHP háttérrel, ami lényegében bejelenti a WordPressnek, hogy „Hé, itt van egy új blokk!”
'sajat-blokk-script',
'render_callback' => 'render_sajat_blokk',
'attributes' => array(
'focim' => array('type' => 'string', 'default' => 'Üdvözlő szöveg'),
'szin' => array('type' => => 'string', 'default' => '#337ab7'),
'ismetles' => array('type' => 'number', 'default' => 3)
)
));
}
add_action('init', 'regisztrálj_saját_blokkot');
function render_sajat_blokk($attributes) {
$kimenet = '<div class="sajat-blokk">';
$kimenet .= '<h3>' . esc_html($attributes['focim']) . '</h3>';
for ($i = 0; $i < $attributes['ismetles']; $i++) {
$kimenet .= '<p>Ez egy testreszabható blokk példa.</p>';
}
$kimenet .= '</div>';
return $kimenet;
}
?>Láthatod, hogy a register_block_type függvény definiálja a blokkunkat. A render_callback pedig a PHP függvény, amely később a weboldalon megjeleníti a blokk tartalmát a felhasználó által bevitt beállításokkal. Az attributes tömbben pedig definiáljuk, hogy milyen beállításokat szeretnénk a blokkhoz (jelen esetben címet, színt és ismétlési számot).
Az előtér csínja: JavaScript, beállítások és a szerkesztői felület
Amikor a felhasználó a WordPress admin felületén hozzáadja a blokkot és rákattint, jobb oldalon megjelennek a beállítások. Ezeket JavaScript segítségével hozzuk létre. Itt használhatnánk React-et (amire a Gutenberg épül), de egy egyszerűbb példa kedvéért maradjunk a klasszikus JavaScript-nél, ami mindenkinek ismerős.
(function(blocks, element, editor, components) {
var el = element.createElement;
var registerBlockType = blocks.registerBlockType;
var InspectorControls = editor.InspectorControls;
var TextControl = components.TextControl;
var ColorPicker = components.ColorPicker;
var RangeControl = components.RangeControl;
registerBlockType('sajat-névtér/sajat-blokk', {
title: 'Saját Testreszabható Blokk',
icon: 'admin-customizer',
category: 'design',
edit: function(props) {
var attributes = props.attributes;
function onChangeFocim(ujFocim) {
props.setAttributes({focim: ujFocim});
}
function onChangeSzin(ujSzin) {
props.setAttributes({szin: ujSzin});
}
function onChangeIsmetles(ujIsmetles) {
props.setAttributes({ismetles: ujIsmetles});
}
return [
el('div', {className: props.className},
el('h3', null, attributes.focim),
el('p', null, 'Ez a blokk előnézete. A beállítások a jobb oldalon.')
),
el(InspectorControls, null,
el(TextControl, {
label: 'Blokk címe',
value: attributes.focim,
onChange: onChangeFocim
}),
el(ColorPicker, {
color: attributes.szin,
onChangeComplete: onChangeSzin,
label: 'Vonal színe'
}),
el(RangeControl, {
label: 'Bekezdések ismétlése',
value: attributes.ismetles,
onChange: onChangeIsmetles,
min: 1,
max: 10
})
)
];
},
save: function() {
return null; // A PHP render_callback gondoskodik a megjelenítésről
}
});
})(
window.wp.blocks,
window.wp.element,
window.wp.editor,
window.wp.components
);A megjelenés formálása: CSS/SCSS
Természetesen minden blokk igényli a megfelelő stílusokat. Itt egy példa SCSS kódra, amely formázza a blokkunkat:
.sajat-blokk {
padding: 20px;
margin: 25px 0;
background-color: #f9f9f9;
border-radius: 5px;
h3 {
margin-top: 0;
color: #333;
font-size: 1.5em;
}
p {
line-height: 1.6;
margin-bottom: 10px;
&:last-child {
margin-bottom: 0;
}
}
// Reszponzív design
@media (max-width: 768px) {
padding: 15px;
margin: 15px 0;
}
}Gyakori buktatók és tanácsok webfejlesztőknek és döntéshozóknak
1. Ne feledd a kompatibilitást: A blokkodat teszteld több WordPress verzióval és különböző témákkal. Egy sikeres WordPress weboldal készítés során a kompatibilitás kulcsfontosságú.
2. UI/UX első: A döntéshozóknak fontos tudni, hogy a blokk beállításai legyenek intuitívak. A végfelhasználó (aki lehet a marketingesed) nem akar programozni, csak gyorsan, egyszerűen módosítani.
3. Teljesítmény számít: Minden extra blokk terheli a weboldalt. Optimalizáld a kódodat, és csak a szükséges függőségeket tartsd meg.
4. Dokumentáld: Ha webfejlesztést ajánlasz ügyfeleidnek, dokumentáld a blokk használatát. Ez óriási időmegtakarítás a későbbiekben.
5. SEO szempont: A blokkod által generált HTML legyen szemantikus és keresőbarát. Ne csak div-ek halmaza legyen, hanem használj megfelelő heading és struktúrális elemeket.
Összegzés: Miért éri meg befektetni saját blokk fejlesztésbe?
A saját Gutenberg-blokk készítése nem csupán egy technikai gyakorlat. Egy üzleti döntés, amely hosszú távon megtérül:
– Hatékonyság: A tartalomkészítők gyorsabban dolgoznak ismert, testreszabott eszközökkel. – Konzisztencia: Minden weblapon ugyanaz a professzionális megjelenés. – Skálázhatóság: Könnyen duplikálhatod a blokkot más weboldalakon vagy projekteken. – Versenyelőny: Olyan funkciókat kínálhatsz, amit más honlapkészítési megoldások nem.
Akár kisvállalkozóként saját weboldalad építed, akár webfejlesztési szolgáltatást nyújtasz, a saját Gutenberg-blokkok fejlesztése egy olyan készség, amely mélyebb kontrollt ad a webprésenced felett, és lehetővé teszi, hogy valóban egyedivé tegyed a digitális jelenléted. A WordPress weboldal készítés már rég túlnőtt az egyszerű sablonok használatán – ma a testreszabás és a rugalmasság uralja a piacot, és a saját blokkjaid pont ezt nyújtják.
A weboldalon megjelenő szöveges és vizuális tartalmak előállításához mesterséges intelligenciát (AI) használunk.