WordPress Full Site Editing — kompletny przewodnik po FSE: theme.json, szablony i blokowe motywy
Opublikowano: 27 marca 2026 · Autor: Marcin Szewczyk-Wilgan
WordPress Full Site Editing (FSE) to najważniejsza zmiana architekturalna w historii WordPressa od czasu wprowadzenia edytora Gutenberg w 2018 roku. Dzięki Full Site Editing cała witryna — od nagłówka, przez szablony stron i wpisów, po stopkę — jest budowana z bloków i zarządzana wizualnie z poziomu jednego edytora. Koniec z rozproszonym Customizerem, kodem PHP w plikach szablonów i koniecznością ręcznego pisania CSS dla każdej zmiany layoutu. WordPress FSE eliminuje potrzebę stosowania zewnętrznych page builderów w wielu scenariuszach i standaryzuje sposób budowy motywów. W tym artykule wyjaśniamy, czym dokładnie jest WordPress Full Site Editing, jak działa od strony technicznej, jak wygląda struktura blokowego motywu, czym jest plik theme.json, jak tworzyć szablony i części szablonów w FSE, oraz kiedy warto przejść na Full Site Editing — a kiedy lepiej pozostać przy klasycznym motywie.
Czym jest WordPress Full Site Editing?
WordPress Full Site Editing to zestaw funkcji wprowadzonych w WordPressie 5.9 (styczeń 2022), które rozszerzają edytor blokowy (Gutenberg) na całą witrynę. Przed FSE bloki służyły wyłącznie do budowania treści wpisów i stron — nagłówek, stopka, sidebar i szablony pozostawały pod kontrolą plików PHP motywu. Full Site Editing zmienia ten paradygmat całkowicie.
W praktyce WordPress Full Site Editing oznacza, że nagłówek (header), stopka (footer) i nawigacja są budowane z bloków — tak samo jak treść strony. Szablony (templates) definiujące układ stron, wpisów, archiwów i stron 404 są plikami HTML zawierającymi bloki, nie plikami PHP. Globalne style (Global Styles) — kolory, typografia, marginesy, odstępy — są konfigurowane centralnie w pliku theme.json i dostępne wizualnie w edytorze. Patterny (wzorce bloków) to gotowe, wielokrotnie używalne układy sekcji — sekcje hero, cenniki, opinie klientów — które użytkownik wstawia jednym kliknięciem.
FSE nie wymaga od użytkownika znajomości kodu. Jednocześnie daje deweloperom pełną kontrolę nad tym, co użytkownik może zmieniać, a co pozostaje zablokowane — przez konfigurację w theme.json. Dostęp do edytora Full Site Editing uzyskujesz przez Wygląd → Edytor w panelu WordPress — pod warunkiem, że aktywny motyw jest motywem blokowym (block theme).
WordPress FSE a klasyczny motyw — kluczowe różnice
Motyw blokowy (block theme) kompatybilny z Full Site Editing i motyw klasyczny (classic theme) to dwa fundamentalnie różne podejścia do budowy witryny WordPress. Zrozumienie różnic jest kluczowe przed podjęciem decyzji o wyborze lub migracji.
single.php, page.php, archive.php) z funkcjami WordPress typu get_header(), the_content(). Motyw blokowy FSE: pliki HTML w katalogu /templates/ zawierające znaczniki bloków (block markup).
style.css, często rozbudowany do tysięcy linii, z nadpisywaniem styli w motywach potomnych. Motyw FSE: plik theme.json definiuje palety kolorów, typografię, odstępy i generuje zmienne CSS automatycznie.
Wygląd → Dostosuj). Motyw FSE: Customizer jest zastąpiony przez Site Editor (Wygląd → Edytor), gdzie wszystko edytujesz wizualnie w Full Site Editing.
register_sidebar() w functions.php, widżety dodawane osobno. Motyw FSE: widżety i sidebary nie istnieją jako osobne elementy — ich rolę pełnią bloki wstawiane bezpośrednio w szablonach i częściach szablonów.
wp_nav_menu() z PHP, rejestracją lokalizacji menu w functions.php. Motyw FSE: blok Navigation, konfigurowany wizualnie w Site Editorze Full Site Editing.
Struktura blokowego motywu w WordPress Full Site Editing
Blokowy motyw WordPress kompatybilny z Full Site Editing ma precyzyjnie zdefiniowaną strukturę katalogów. Oto minimalna, ale pełna struktura produkcyjnego motywu FSE:
template-part.
theme.json.
add_theme_support() dla funkcji kontrolowanych przez theme.json.
Plik theme.json — serce motywu WordPress FSE
Plik theme.json jest centralnym elementem konfiguracyjnym każdego motywu Full Site Editing. Zastępuje rozproszone wywołania add_theme_support(), nadpisywanie styli w CSS i ręczne tworzenie zmiennych CSS. WordPress czyta theme.json i na jego podstawie generuje zmienne CSS, konfiguruje interfejs edytora FSE i określa domyślne style bloków.
Aktualna wersja specyfikacji to version 3 (od WordPress 6.6+). Oto przykład kompletnego theme.json z paletą kolorów, typografią i konfiguracją layoutu:
{
"$schema": "https://schemas.wp.org/trunk/theme.json",
"version": 3,
"settings": {
"appearanceTools": true,
"color": {
"palette": [
{ "slug": "primary", "color": "#d97b3a", "name": "Primary" },
{ "slug": "secondary", "color": "#3d3d3a", "name": "Secondary" },
{ "slug": "background", "color": "#faf9f5", "name": "Background" },
{ "slug": "surface", "color": "#ffffff", "name": "Surface" },
{ "slug": "muted", "color": "#6b5e4f", "name": "Muted" }
],
"defaultPalette": false,
"defaultGradients": false
},
"typography": {
"fontFamilies": [
{
"fontFamily": "ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace",
"slug": "mono",
"name": "Monospace"
},
{
"fontFamily": "'Inter', -apple-system, BlinkMacSystemFont, sans-serif",
"slug": "sans",
"name": "Sans Serif"
}
],
"fontSizes": [
{ "slug": "small", "size": "0.875rem", "name": "Small" },
{ "slug": "medium", "size": "1rem", "name": "Medium" },
{ "slug": "large", "size": "1.25rem", "name": "Large" },
{ "slug": "x-large", "size": "1.75rem", "name": "Extra Large" },
{ "slug": "xx-large", "size": "2.5rem", "name": "2XL" }
],
"fluid": true
},
"layout": {
"contentSize": "720px",
"wideSize": "1100px"
},
"spacing": {
"units": ["rem", "px", "%"]
}
},
"styles": {
"color": {
"background": "var(--wp--preset--color--background)",
"text": "var(--wp--preset--color--secondary)"
},
"typography": {
"fontFamily": "var(--wp--preset--font-family--mono)",
"fontSize": "var(--wp--preset--font-size--medium)",
"lineHeight": "1.6"
},
"elements": {
"link": {
"color": { "text": "var(--wp--preset--color--primary)" }
},
"heading": {
"typography": { "fontWeight": "700" }
}
},
"blocks": {
"core/button": {
"color": {
"background": "var(--wp--preset--color--primary)",
"text": "var(--wp--preset--color--surface)"
},
"border": { "radius": "4px" }
}
}
},
"templateParts": [
{ "name": "header", "title": "Header", "area": "header" },
{ "name": "footer", "title": "Footer", "area": "footer" }
],
"customTemplates": [
{ "name": "blank", "title": "Blank", "postTypes": ["page"] },
{ "name": "full-width", "title": "Full Width", "postTypes": ["page", "post"] }
]
}Co robi ten plik w kontekście WordPress Full Site Editing:
--wp--preset--color--primary, --wp--preset--color--secondary itd. Ustawienie defaultPalette: false ukrywa domyślne kolory WordPressa.
fluid: true włącza płynną typografię — rozmiary skalują się automatycznie między viewportami.
contentSize (szerokość treści) i wideSize (szerokość dla bloków „wide"). Odpowiada za centrowanie treści i kontrolę maksymalnej szerokości w edytorze FSE.
Szablony i template parts w WordPress FSE
Szablony (templates) w blokowym motywie Full Site Editing to pliki HTML zawierające block markup — znaczniki bloków WordPressa w formacie komentarzy HTML. Oto przykład minimalnego szablonu templates/single.html — szablonu pojedynczego wpisu w FSE:
<!-- wp:template-part {"slug":"header","area":"header"} /-->
<!-- wp:group {"tagName":"main","layout":{"type":"constrained"}} -->
<main class="wp-block-group">
<!-- wp:post-title {"level":1} /-->
<!-- wp:post-date {"format":"j F Y"} /-->
<!-- wp:post-content {"layout":{"type":"constrained"}} /-->
<!-- wp:spacer {"height":"2rem"} -->
<div style="height:2rem" class="wp-block-spacer"></div>
<!-- /wp:spacer -->
<!-- wp:post-terms {"term":"category","prefix":"Kategorie: "} /-->
<!-- wp:post-terms {"term":"post_tag","prefix":"Tagi: "} /-->
</main>
<!-- /wp:group -->
<!-- wp:template-part {"slug":"footer","area":"footer"} /-->A oto przykład części szablonu (template part) w FSE — plik parts/header.html:
<!-- wp:group {"tagName":"header","style":{"spacing":{"padding":{"top":"1rem","bottom":"1rem"}}},"layout":{"type":"constrained"}} -->
<header class="wp-block-group" style="padding-top:1rem;padding-bottom:1rem;">
<!-- wp:group {"layout":{"type":"flex","justifyContent":"space-between"}} -->
<div class="wp-block-group">
<!-- wp:site-title {"level":0} /-->
<!-- wp:navigation {"layout":{"type":"flex","justifyContent":"right"}} /-->
</div>
<!-- /wp:group -->
</header>
<!-- /wp:group -->Kluczowe bloki dynamiczne używane w szablonach WordPress Full Site Editing:
slug wskazuje na plik w /parts/. To fundament modularnej architektury FSE.
while (have_posts()) z klasycznego motywu. Pozwala wyświetlić listę wpisów z filtrami — jeden z najpotężniejszych bloków w Full Site Editing.
wp_nav_menu().
Wzorce bloków (Block Patterns) w Full Site Editing
Wzorce bloków (block patterns) to gotowe, predefiniowane układy sekcji, które użytkownik wstawia z insertera bloków w edytorze Full Site Editing. W kontekście FSE patterny są potężnym narzędziem — pozwalają dostarczyć gotowe sekcje hero, cenniki, opinie klientów, galerie, bez konieczności budowania ich od zera.
W blokowym motywie FSE patterny rejestruje się jako pliki PHP w katalogu /patterns/. WordPress automatycznie wykrywa je i udostępnia w edytorze Full Site Editing. Oto przykład wzorca sekcji hero:
<?php
/**
* Title: Hero Section
* Slug: my-fse-theme/hero-section
* Categories: featured
* Keywords: hero, banner, header
*/
?>
<!-- wp:cover {"dimRatio":50,"overlayColor":"secondary","minHeight":500,
"isDark":true,"layout":{"type":"constrained"}} -->
<div class="wp-block-cover is-dark" style="min-height:500px;">
<span class="wp-block-cover__background has-secondary-background-color
has-background-dim-50 has-background-dim"></span>
<div class="wp-block-cover__inner-container">
<!-- wp:heading {"textAlign":"center","level":1,
"style":{"typography":{"fontSize":"2.5rem"}}} -->
<h1 class="wp-block-heading has-text-align-center"
style="font-size:2.5rem;">Twój nagłówek hero</h1>
<!-- /wp:heading -->
<!-- wp:paragraph {"align":"center"} -->
<p class="has-text-align-center">Krótki opis wartości, usługi
lub propozycji. Maksymalnie dwa zdania.</p>
<!-- /wp:paragraph -->
<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons">
<!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link
wp-element-button">Dowiedz się więcej</a></div>
<!-- /wp:button -->
</div>
<!-- /wp:buttons -->
</div>
</div>
<!-- /wp:cover -->Od WordPressa 6.3 dostępne są synced patterns (zsynchronizowane wzorce, wcześniej nazywane reusable blocks). Zmiana w jednym miejscu propaguje się na wszystkie wystąpienia wzorca w witrynie. Niezsynchronizowane patterny są kopiowane przy wstawieniu i mogą być edytowane niezależnie. W kontekście WordPress FSE synced patterns sprawdzają się doskonale do nagłówków CTA, banerów promocyjnych i elementów wielokrotnie używanych na wielu szablonach.
Global Styles — stylowanie witryny w WordPress FSE
Global Styles to interfejs w Site Editorze WordPress FSE, który pozwala użytkownikowi wizualnie zmieniać kolory, typografię, odstępy i style bloków dla całej witryny — bez dotykania kodu. Za kulisami Global Styles zapisują zmiany użytkownika jako nadpisania wartości z theme.json.
Hierarchia stylów w WordPress Full Site Editing:
/styles/.
Ta hierarchia działa analogicznie do kaskady CSS — każdy kolejny poziom nadpisuje poprzedni. Deweloper definiuje solidne domyślne wartości w theme.json, a użytkownik ma możliwość ich dostosowania w granicach, które deweloper określił w sekcji settings. To jeden z kluczowych mechanizmów WordPress Full Site Editing — kontrola bez ograniczania elastyczności.
Przykład: jeśli w theme.json ustawisz settings.color.custom: false, użytkownik nie będzie mógł wybrać własnego koloru poza zdefiniowaną paletą. Jeśli ustawisz settings.typography.customFontSize: false — użytkownik będzie mógł wybierać wyłącznie z predefiniowanych rozmiarów czcionek. Daje to deweloperowi pełną kontrolę nad spójnością wizualną witryny w FSE.
Style Book — podgląd systemu projektowego w FSE
WordPress (od wersji 6.2+) oferuje narzędzie Style Book, dostępne w Site Editorze Full Site Editing. Style Book wyświetla podgląd wszystkich bloków z aktualnie zastosowanymi stylami — w jednym widoku. Typografia, kolory, przyciski, formularze, nagłówki, listy, cytaty — wszystko widoczne na jednym ekranie.
Style Book pozwala sprawdzić spójność systemu projektowego motywu FSE przed publikacją. Jeśli zmieniasz globalną czcionkę lub paletę kolorów w Global Styles, Style Book natychmiast pokazuje, jak zmiana wpływa na każdy blok w WordPress Full Site Editing. To odpowiednik „living style guide" znany z systemów projektowych front-endowych — ale wbudowany natywnie w WordPress.
Dla deweloperów motywów FSE, Style Book jest nieocenionym narzędziem do weryfikacji, czy theme.json generuje spójny system projektowy — zanim motyw trafi do użytkownika końcowego.
Własne bloki w WordPress FSE — tworzenie z kodem
Full Site Editing nie ogranicza się do wbudowanych bloków. Deweloperzy mogą tworzyć własne bloki (custom blocks), które integrują się z edytorem FSE i korzystają z systemu stylów theme.json. Rejestracja bloku w WordPress Full Site Editing odbywa się przez plik block.json:
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "my-theme/cta-box",
"title": "CTA Box",
"category": "design",
"icon": "megaphone",
"description": "Blok call-to-action z nagłówkiem, opisem i przyciskiem.",
"supports": {
"html": false,
"color": {
"background": true,
"text": true
},
"spacing": {
"padding": true,
"margin": true
},
"typography": {
"fontSize": true
}
},
"textdomain": "my-theme",
"editorScript": "file:./index.js",
"style": "file:./style.css",
"render": "file:./render.php"
}Plik block.json definiuje nazwę bloku, ikonę, kategorię i — co najważniejsze — sekcję supports. To właśnie supports określa, które kontrolki z theme.json będą dostępne dla tego bloku w edytorze FSE: kolory, odstępy, typografia. WordPress automatycznie generuje odpowiednie klasy CSS i zmienne dla bloku, zachowując spójność z globalnym systemem stylów Full Site Editing.
Własne bloki w połączeniu z theme.json i patternami tworzą kompletny system projektowy, w którym deweloper kontroluje architekturę, a użytkownik — treść i personalizację wizualną w ramach WordPress FSE.
Migracja na WordPress Full Site Editing — kluczowe kroki
Przejście z klasycznego motywu na blokowy motyw Full Site Editing nie jest trywialnym zadaniem, ale jest w pełni wykonalne — nawet na działającej witrynie produkcyjnej. Oto kluczowe etapy migracji do WordPress FSE:
Audyt obecnego motywu
Zidentyfikuj wszystkie elementy: jakie szablony są używane, jakie widżety, jakie lokalizacje menu, jakie style niestandardowe. Sporządź listę funkcji z functions.php, które będą wymagały przeniesienia lub zastąpienia w nowym motywie FSE.
Backup i staging
Migracja do Full Site Editing zawsze odbywa się na środowisku staging, nigdy bezpośrednio na produkcji. Pełna kopia zapasowa bazy danych i plików to absolutne minimum przed rozpoczęciem prac.
Budowa theme.json
Przeniesienie palety kolorów, typografii, layoutu i ustawień edytora z style.css i functions.php do theme.json. To najtrudniejszy etap migracji na FSE, wymagający dokładnego mapowania istniejących styli na format JSON.
Konwersja szablonów na FSE
Przekształcenie szablonów PHP (header.php, footer.php, single.php) na pliki HTML z block markupem w katalogach /templates/ i /parts/. Dynamiczne elementy zastępowane odpowiednimi blokami Full Site Editing.
Patterny i widżety
Sekcje, które dotąd były widżetami lub hardcodowane w PHP, stają się wzorcami bloków (patterns) lub częściami szablonów (template parts) w nowym motywie FSE.
Testowanie
Kontrola wszystkich typów treści (strony, wpisy, archiwa, wyszukiwanie, 404), responsywności, wydajności i kompatybilności wtyczek z Full Site Editing. Szczególna uwaga na wtyczki korzystające z Customizera.
Wydajność WordPress FSE vs. page buildery
Jedną z kluczowych zalet WordPress Full Site Editing jest wydajność. Klasyczne page buildery (Elementor, Divi, WPBakery) ładują własne frameworki CSS i JavaScript — często setki kilobajtów dodatkowego kodu — niezależnie od tego, jakich bloków użytkownik faktycznie używa. WordPress FSE działa inaczej.
Motywy blokowe kompatybilne z Full Site Editing korzystają z natywnego systemu renderowania WordPress. Style są generowane z theme.json jako zmienne CSS, a ładowane są wyłącznie style bloków faktycznie użytych na stronie. WordPress automatycznie wstawia style inline dla konkretnych bloków, eliminując nieużywany CSS. Nie ma dodatkowego frameworka JS po stronie front-endu (z wyjątkiem bloków interaktywnych korzystających z Interactivity API).
Kiedy wybrać Full Site Editing, a kiedy klasyczny motyw?
WordPress Full Site Editing nie jest rozwiązaniem dla każdego projektu. Oto praktyczne wytyczne dotyczące wyboru między FSE a klasycznym podejściem:
theme.json nawet w klasycznych motywach. Możesz stopniowo wprowadzać elementy Full Site Editing — np. konfigurację kolorów i typografii — bez pełnej migracji na motyw blokowy FSE. To dobra strategia przejściowa.
Podsumowanie — przyszłość WordPress to Full Site Editing
WordPress Full Site Editing to nie kolejna wtyczka ani trend — to fundamentalna zmiana architekturalna, która definiuje przyszłość WordPressa. Plik theme.json zastępuje rozproszoną konfigurację w PHP i CSS, szablony HTML z block markupem zastępują szablony PHP, a Site Editor daje użytkownikom wizualną kontrolę nad całą witryną w ramach FSE. Full Site Editing eliminuje potrzebę page builderów w wielu scenariuszach, poprawia wydajność i standaryzuje sposób budowy motywów.
Przejście na WordPress FSE wymaga inwestycji czasu w naukę nowej architektury — ale zwraca się szybko: szybszymi witrynami, łatwiejszym utrzymaniem, mniejszą ilością kodu i większą niezależnością od zewnętrznych narzędzi. Wraz z WordPressem 7.0 i kolejnymi wersjami, Full Site Editing będzie tylko zyskiwać na funkcjonalności i dojrzałości.
W WebOptimo budujemy i utrzymujemy witryny WordPress zarówno na klasycznych motywach, jak i na blokowych motywach Full Site Editing. Jeśli rozważasz migrację do FSE, potrzebujesz motywu blokowego od podstaw lub chcesz skonsultować, czy WordPress Full Site Editing sprawdzi się w Twoim projekcie — skontaktuj się z nami lub sprawdź naszą ofertę tworzenia stron WordPress.
Najczęstsze pytania o WordPress Full Site Editing
WordPress Full Site Editing to zestaw funkcji umożliwiających edycję całej witryny — nagłówka, stopki, szablonów, nawigacji i globalnych stylów — z poziomu edytora blokowego. FSE zastępuje Customizer i tradycyjne szablony PHP, dając użytkownikom pełną wizualną kontrolę nad stroną bez konieczności pisania kodu.
Tak. Aby korzystać ze wszystkich funkcji WordPress FSE, potrzebujesz motywu blokowego (block theme). Motywy klasyczne mogą korzystać z niektórych elementów FSE (np. theme.json), ale pełna edycja witryny wymaga motywu zaprojektowanego pod Full Site Editing — np. Twenty Twenty-Four lub Twenty Twenty-Five.
Full Site Editing oferuje natywną, wydajną alternatywę dla page builderów. Nie wymaga dodatkowych wtyczek, nie ładuje zewnętrznych frameworków i jest wbudowane w rdzeń WordPress. Dla nowych projektów FSE jest często lepszym wyborem pod względem wydajności i utrzymania. Istniejące witryny z głęboką integracją z page builderami mogą jednak pozostać przy dotychczasowym rozwiązaniu.
theme.json to centralny plik konfiguracyjny blokowego motywu WordPress FSE. Definiuje palety kolorów, typografię, ustawienia layoutu, kontrolki edytora, domyślne style bloków i elementy strukturalne motywu. WordPress generuje z niego zmienne CSS i konfiguruje interfejs Site Editora.
Częściowo tak. Od WordPress 5.8 plik theme.json działa również w klasycznych motywach — pozwala konfigurować kolory, typografię i ustawienia edytora blokowego. Pełny Site Editor (edycja nagłówka, stopki, szablonów) wymaga jednak motywu blokowego FSE.
Tak. FSE jest stabilną częścią rdzenia WordPress od wersji 5.9 (styczeń 2022). Z każdą kolejną wersją — 6.x i nadchodzącą 7.0 — funkcjonalność Full Site Editing jest rozbudowywana i stabilizowana. Blokowe motywy FSE działają na produkcyjnych witrynach na całym świecie.
Wystarczy zainstalować i aktywować motyw blokowy (block theme) — np. Twenty Twenty-Five. Po aktywacji motywu blokowego w panelu WordPress pojawi się opcja Wygląd → Edytor, dająca dostęp do pełnego edytora witryny FSE z możliwością edycji szablonów, części szablonów, nawigacji i globalnych stylów.
Page buildery (Elementor, Divi, WPBakery) to zewnętrzne wtyczki z własnymi frameworkami CSS/JS, które często obciążają witrynę. WordPress Full Site Editing jest natywną funkcją rdzenia WordPress — nie wymaga dodatkowych wtyczek, generuje mniej kodu, jest szybsze i zapewnia pełną przenośność treści między motywami blokowymi FSE.