Skip to content

MB Blocks

PHP‑alapú Gutenberg blokkfejlesztés Meta Box mezőkkel, React és build‑lánc nélkül.

This content is not available in your language yet.

Az MB Blocks a Meta Box ökoszisztéma prémium kiterjesztése, amellyel egyedi Gutenberg blokkokat készíthetsz kizárólag PHP‑val. Nem kell Reactot, Webpacket vagy Bablet beállítanod: a megszokott Meta Box mezőszintaxist használod, és percek alatt felépítesz professzionális blokkokat. Támogatja a block.json alapú regisztrációt és teljesen kompatibilis a Full Site Editinggel, így a blokkok sablonokban és sablonrészekben is működnek.

A bővítmény lecsökkenti a Gutenberg fejlesztés belépési küszöbét, újrahasznosítja a már meglévő meződefinícióidat, és egységes, élő előnézetet ad a szerkesztőben – mindezt rugalmas adattárolással és fejlesztőbarát segédfunkciókkal.

Fő funkciók és mit jelentenek a gyakorlatban

Szekció neve “Fő funkciók és mit jelentenek a gyakorlatban”
  • PHP‑alapú blokkfejlesztés: Blokkot hozol létre úgy, mintha egy mezőcsoportot definiálnál; a típus egyszerűen „block”. Nincs build‑lánc, nincs JS fordítás.
  • block.json támogatás: A blokkokat WordPress‑szabvány szerint regisztrálhatod. A szokásos kulcsokkal (például editorStyle, style, editorScript, script, viewStyle, viewScript) pontosan szabályozod, mi töltődjön be az editorban és a frontenden.
  • FSE kompatibilitás: A blokkok site szerkesztőben és sablonokban is gond nélkül használhatók; ideális site‑wide komponensekhez.
  • Élő előnézet: Mezőérték módosításkor a blokk azonnal újrarenderelődik. Látod, mit kap a szerző – nincs „preview” körhinta.
  • Meta Box mezőtípusok teljes támogatása: 40+ mezőtípus, ugyanaz a beállítási logika, mint a klasszikus field groupoknál. Amit már ismersz, azt viszed tovább blokkokba.
  • InnerBlocks támogatás: Beágyazott blokkokat adhatsz a sajátodhoz, szabályozva az engedélyezett típusokat, sablont és zárolást. A bővítmény gondoskodik arról, hogy az editor és a frontend markupja egyezzen (ne legyenek felesleges wrap‑elemek).
  • MB Views integráció: Sablonozz Twiggel; a blokkot egy view‑val rendereltetheted, így a markup és a logika még tisztábban szétválik.
  • MB Builder integráció: Vizuális felületen rakod össze a blokk mezőit és beállításait – ideális csapatoknak és gyors prototípushoz.
  • Stílusok és scriptek kezelése: Külön kezeli az editorra és a frontend‑nézetre vonatkozó CSS/JS‑t. PHP regisztrációnál enqueue_* paraméterekkel, block.json‑nal a megfelelő kulcsokkal dolgozol.
  • Segédfüggvények és automatikus adatelőkészítés: A render callbackben kapott $attributes már előkészített értékeket tartalmaz. Sablonban a mb_get_block_field() és mb_the_block_field() segít az értékek kiolvasásában.
  • Rugalmas adattárolás: Alapból a blokk attribútumaiban tárol (JSON), de dönthetsz post meta vagy egyedi tábla mellett is – nagy adatmennyiségnél különösen hasznos.
  • Kiegészítő beállítások: Ikon (Dashicons, SVG, Font Awesome), kategória, kulcsszavak, supports (align, customClassName, multiple, reusable, lock, anchor), context és saját CSS osztályok.
  1. Definiálás
    – Block.json‑nal regisztrálsz és megadod az asseteket, vagy
    – PHP‑ban hozod létre a blokkot és a mezőit az rwmb_meta_boxes hookkal.

  2. Renderelés
    – PHP sablonfájllal (render vagy render_template), vagy
    – MB Views‑szal (Twig), ha sablonozni szeretnél.

  3. Stílus/JS
    – Block.json kulcsokkal, illetve PHP‑s regisztrációnál enqueue opciókkal külön az editorhoz és a frontendhez.

add_filter('rwmb_meta_boxes', function ($meta_boxes) {
$meta_boxes[] = [
'type' => 'block',
'id' => 'hero',
'title' => 'Hero szekció',
'icon' => 'slides',
'supports' => [
'align' => ['full', 'wide'],
'anchor' => true,
],
'render_template' => get_theme_file_path('blocks/hero.php'),
'fields' => [
['id' => 'heading', 'name' => 'Címsor', 'type' => 'text'],
['id' => 'subtitle', 'name' => 'Alcím', 'type' => 'textarea'],
['id' => 'bg', 'name' => 'Háttérkép','type' => 'image_advanced'],
],
// 'inner_blocks' => [
// 'allowedBlocks' => ['core/buttons'],
// 'templateLock' => 'all',
// ],
];
return $meta_boxes;
});
blocks/hero.php
<?php
$heading = mb_get_block_field('heading');
$subtitle = mb_get_block_field('subtitle');
$bg = mb_get_block_field('bg'); // kép tömb URI‑val
?>
<section class="hero" style="background-image:url('<?php echo esc_url($bg[0]['url'] ?? ''); ?>')">
<h1><?php echo esc_html($heading); ?></h1>
<?php if ($subtitle) : ?>
<p class="hero__subtitle"><?php echo esc_html($subtitle); ?></p>
<?php endif; ?>
<?php echo $content; // InnerBlocks tartalom (ha engedélyezett) ?>
</section>

Megjegyzés: ha post meta‑ba vagy egyedi táblába mentesz, az automatikus attribútum‑előkészítés és a mb_get_block_field() nem elérhető; ilyenkor rwmb_meta‑val kérdezd le az adatot.

  • Hero/CTA blokkok: címsor, leírás, háttérkép, gombok – szerkesztőben azonnali előnézettel.
  • Feature lista / testimonial: ismétlődő mezők, képek, ikonkészletek.
  • Adatvezérelt komponensek: termékkiemelés, kapcsolódó bejegyzések, taxonómia‑szűrt listák.
  • FSE komponensek: egységes header, footer, promo sáv – sablonrészekbe illesztve.
  • Időmegtakarítás: nincs build‑lánc, nincs JS tooling – csak PHP és a már ismert Meta Box mezők.
  • Kisebb kockázat: WordPress‑szabványos block.json és FSE támogatás, jövőálló megközelítés.
  • Skálázhatóság: rugalmas adattárolás post meta‑ban vagy egyedi táblában nagy projekteknél.
  • Gyors fejlesztői feedback: élő előnézet és egységes editor/frontend markup.
  • WordPress fejlesztőknek és ügynökségeknek, akik gyorsan, megbízhatóan akarnak Gutenberg blokkokat szállítani JS stack nélkül.
  • PHP‑fókuszú csapatoknak, akik már Meta Boxot használnak, és újrahasznosítanák mezőcsoportjaikat.
  • Tartalomkészítő csapatoknak, akik konzisztens, FSE‑kompatibilis komponenseket szeretnének, élő előnézettel.
  • Foglalt attribútumnevek: kerüld az „id” és „name” használatát mezőazonosítóként; a blokk belső értékeit felülírhatják.
  • Azonosító szintaxis: a blokk‑ID csak kisbetűt, számot és kötőjelet tartalmazhat (aláhúzás nélkül).
  • Többszörözhetőség és mentés: ha post meta‑ba vagy egyedi táblába mentesz, javasolt a multiple tiltása, hogy ne legyen ütközés.
  • Adatlekérés: meta/custom table tárolásnál rwmb_meta‑t használj; az automatikus attribútum‑előkészítés és a mb_get_block_field() ilyenkor nem aktív.
  • Függőség: az MB Blocks a Meta Box kiterjesztése; a teljes élményhez szükséges a fő bővítmény, opcionálisan az MB Builder és az MB Views.

Ezzel a bővítménnyel pontosan azt kapod, amire a mindennapi fejlesztésben szükséged van: gyors, PHP‑centrikus blokkfejlesztést, amely azonnal illeszkedik a WordPress és a Meta Box bevált folyamataihoz.

We respect your privacy

We use cookies to improve your browsing experience and to analyse traffic. Analytics only starts if you allow it. Privacy policy, Cookie policy.

Cookie settings