WordPress Blok Tema və Klassik Tema: Dürüst Müqayisə
Blok temanı klassikdən 30 saniyəyə ayırd edin, hər birinin redaktorlara və developerlərə nəyə başa gəldiyini görün və keçmək, qalmaq, yoxsa sadəcə theme.json əlavə etmək qərarını verin.
Nəşr olundu
Tema qovluğunuzu açın. İçində index.html faylı olan templates qovluğu, kökdə isə theme.json varsa, əlinizdə blok tema var. Əgər header.php və footer.php kimi fayllarla yanaşı index.php varsa və idarə panelinin yan menyusunda Görünüş sonra Fərdiləşdirici görünürsə, klassik temanız var.
Bu tək struktur fərqi saytınızda kimin nəyi dəyişə biləcəyini, həmin dəyişikliklərin harada saxlanacağını və WordPress plagin ekosisteminin hansı yarısının normal işləyəcəyini müəyyən edir.
30 saniyəlik tanınma
| Əlamət | Klassik tema | Blok tema |
|---|---|---|
| Kök şablon faylı | index.php | templates/index.html |
| Başlıq və altlıq | header.php, footer.php | parts/header.html, parts/footer.html |
| Qlobal konfiqurasiya | functions.php | theme.json (plus istəyə bağlı functions.php) |
| İdarə menyusu | Görünüş > Fərdiləşdirici | Görünüş > Redaktor |
| Redaktələrin saxlandığı yer | Diskdəki fayllar | Verilənlər bazası, wp_template yazıları kimi |
| Vidcetlər ekranı | Var | Yoxdur |
WordPress qərarı templates/index.html faylının olub-olmamasına baxaraq verir. theme.json daşıyan, amma PHP şablonlarını saxlayan tema hələ də klassik sayılır — bu aralıq vəziyyət geniş yayılıb və adı var, aşağıda ona toxunacağıq.
Shell girişiniz varsa, bir əmr məsələni həll edir:
wp eval 'var_dump( wp_is_block_theme() );'
WP-CLI özünüzün qurmadığınız saytda ən sürətli yoxlamadır, xüsusən səhifə qurucusu adi idarə menyularını gizlədibsə.
Saytı redaktə edən adam üçün nə dəyişir
Klassik temada başlıq, altlıq, yan panel, rənglər və loqo Fərdiləşdiricinin arxasındadır və yalnız tema müəllifinin qurmağa qərar verdiyi kontrolları alırsınız. Tema altlıqdakı müəllif hüququ mətni üçün kontrol qeydiyyatdan keçirməyibsə, deməli belə kontrol yoxdur. Ya PHP faylını redaktə edirsiniz, ya da olduğu kimi qəbul edirsiniz.
Blok temada Sayt Redaktoru bütün səhifəni açıq qoyur. Başlıq, altlıq, dövr (loop), 404 səhifəsi, axtarış nəticələrinin quruluşu — hamısı blokdur, hamısını ömründə PHP görməmiş adam redaktə edə bilər. Əsas üstünlük məhz budur və o, həqiqətən böyükdür.
Bunun qiyməti odur ki, hər şeyi ömründə PHP görməmiş adam redaktə edə bilər. Müştəri gecə saat 2-də başlıqdan sayt adını silə bilər və bərpa etmək üçün diskdə heç bir versiya tarixçəsi yoxdur — yalnız Sayt Redaktorunun öz düzəlişləri var. Blok kilidləmə və redaktora kimin çata biləcəyini məhdudlaşdırmaqla vəziyyəti sıxılaşdırmaq mümkündür, amma bu, yadda saxlayıb özünüzün etməli olduğu əlavə işdir.
Praktikada dişləyən iki kiçik itki də var: blok temalarda Vidcetlər ekranı yoxdur (vidcet sahələrini şablon hissələri və bloklar əvəz edir), klassik menyuların yerini isə elementlərini tanış Menyular ekranında deyil, ayrıca məzmun növündə saxlayan Naviqasiya bloku tutur.
Developer üçün nə dəyişir
Klassik temalar PHP şablon iyerarxiyasından istifadə edir. WordPress sorğunu məlum zəncir üzrə həll edir — single-{post-type}.php, sonra single.php, sonra singular.php, sonra index.php — və sizin fayl işə düşür, get_header() çağırır, The Loop-u işlədir və hərfbəhərf sizin nəzarətinizdə olan markup çıxarır.
<?php get_header(); ?>
<main class="site-main">
<?php while ( have_posts() ) : the_post(); ?>
<h1><?php the_title(); ?></h1>
<?php the_content(); ?>
<?php endwhile; ?>
</main>
<?php get_footer(); ?>
Blok temalar eyni iyerarxiya adlarını .html uzantısı ilə işlədir, amma faylın içində blok markup-u olur — şərhlərdə blok ayırıcıları ilə HTML — və şablon teqləri yoxdur:
<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
<!-- wp:group {"tagName":"main"} -->
<main class="wp-block-group">
<!-- wp:post-title {"level":1} /-->
<!-- wp:post-content /-->
</main>
<!-- /wp:group -->
<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->
Developerlərin dərhal üzləşdiyi üç nəticə:
get_header() və get_footer() heç vaxt işləmir. Plaginlərdə və ya köhnə child temada həmin əməliyyatlara qoşulmuş nə varsa, səssizcə heç nə etmir. wp_head və wp_footer isə hələ də işə düşür, ona görə enqueue-ların çoxu sağ qalır, amma başlığa xas hooklar yox.
Verilənlər bazası fayllarınızı üstələyir. Kimsə Sayt Redaktorunda şablonu yadda saxlayan andan WordPress həmin versiyanı wp_template yazısı kimi saxlayır və sizin faylınızın əvəzinə onu göstərir. HTML faylını bütün günorta redaktə edib ön tərəfdə sıfır dəyişiklik görə bilərsiniz. Həmin şablon üçün fərdiləşdirməni təmizləmək fayl versiyasını geri qaytarır. “Blok temam xarabdır” şikayətlərinin ən çox rast gəlinən səbəbi budur və bu, baq deyil.
Stilləşdirmə theme.json faylına köçür. Rənglər, boşluq şkalası, tipoqrafiya və blok üzrə standartlar CSS yox, məlumat kimi elan olunur, CSS-i isə WordPress yaradır. Bu, daha səliqəli və qat-qat ardıcıldır — ta o vaxta qədər ki, sxemin ifadə etmədiyi bir şey lazım olsun; onda onsuz da CSS yazır və yaradılmış qaydalarla specificity davası aparırsınız.
{
"version": 3,
"settings": {
"color": {
"palette": [
{ "slug": "brand", "color": "#1a1a1a", "name": "Brand" }
]
}
}
}
version dəyərini işlədiyiniz WordPress buraxılışı ilə tutuşdurun — sxem bir dəfədən çox yenilənib və köhnə dərslikdən versiya nömrəsi köçürmək səssizcə nəzərə alınmayan parametrlər yaradır.
Nəzərə alın ki, functions.php yox olmur. Blok temalar onu hələ də enqueue üçün, add_image_size qeydləri, xüsusi yazı növləri və PHP tələb edən hər şey üçün işlədir. Sadəcə orada xeyli az şablon işi görürsünüz.
Əslində nə qazanır, nə itirirsiniz
Bloka keçməklə qazandıqlarınız: bütün səhifə üzərində redaktor nəzarəti, theme.json ilə möhkəmləndirilmiş dizayn ardıcıllığı, saxlanılacaq daha az fayl və klassik temaların heç vaxt bacarmadığı qədər tez-tez redaktorla ön tərəf arasında uyğun gələn stillər.
Bloka keçməklə itirdikləriniz: çıxış markup-u üzərində birbaşa nəzarət, hooka əsaslanan sadə fərdiləşdirmə, PHP şablonlarını fərz edən hər şeylə uyğunluq və saytın görünüşünün versiya nəzarətində yaşadığına dair arxayınlıq.
Sonuncunun üzərində ayrıca dayanmağa dəyər. Klassik temada git log sizə nəyin dəyişdiyini deyir. Blok temada isə saytın görünüşünün nəzərəçarpan hissəsi yerləşdirmə boru xəttinizin baxmadığı verilənlər bazasında yaşayır.
Klassik temanın hələ də doğru cavab olduğu hallar
- Saytı səhifə qurucusu idarə edir. Elementor, Divi, Beaver Builder və oxşar alətlər şablon işini özləri üzərinə götürür. Altına blok tema qoymaq heç nə etməyən ikinci bir şablon sistemi əlavə edir.
- Markup dəqiq olmalıdır. Fərdi komponent kitabxanaları, ciddi əlçatanlıq markup-u, qeyri-adi sxem tələbləri — blok çıxışı blokların verdiyi ilə məhdudlaşır və onunla vuruşmaq PHP yazmaqdan baha başa gəlir.
- Ağır plagin şablonları. Üzvlük, LMS, kataloq və köhnə ticarət genişləndirmələri tez-tez PHP şablon override-ları ilə gəlir. Çoxunun artıq blok qarşılığı var; çoxunun isə yoxdur.
- Sayt bitib və işləyir. Beş illik yığılmış fərdiləşdirməsi olan temanın bloka yüksəltmə yolu yoxdur, yalnız sıfırdan qurmaq var. “Bu, daha yeni yanaşmadır” biznes səbəbi deyil.
- Sizdən başqa heç kim redaktə etməyəcək. Sayt Redaktorunun əsas faydası nəzarəti developer olmayanlara verməkdir. Developer olmayan yoxdursa, heç kimin istifadə etmədiyi fayda üçün pul ödəyirsiniz.
Hibrid orta yol
Klassik tema theme.json əlavə edib qlobal stillər sistemini, rəng və boşluq preset-lərini, ardıcıl redaktor stilləşdirməsini əldə edə bilər — həm də PHP şablonlarını və Fərdiləşdiricini saxlamaqla. WordPress buna blok tema demir, Sayt Redaktoru da əlçatan olmur, amma işin çox kiçik bir hissəsi müqabilində dizayn sistemi faydasının böyük hissəsini alırsınız.
Əsasən işləyən mövcud sayt üçün adətən doğru ilk addım budur. theme.json əlavə edin, palitranızı və boşluqlarınızı təyin edin, onun əvəz etdiyi CSS-i silin və qalanını hələ də istəyib-istəmədiyinizə baxın.
FAQ
Suallar
WordPress temamın blok tema, yoxsa klassik tema olduğunu necə bilim?
Tema qovluğunu açın. Blok temada index.html faylını saxlayan templates qovluğu, demək olar ki, həmişə də kökdə theme.json faylı olur. Klassik temada isə index.php və header.php, footer.php kimi PHP şablon faylları olur. İdarə panelində blok temalar Görünüş sonra Redaktor, klassik temalar isə Görünüş sonra Fərdiləşdirici (Customizer) göstərir.
Blok temalar klassik temalardan daha yaxşıdır?
Həmişə yox. Blok temalar developer olmayanlara səhifənin hər hissəsi üzərində real nəzarət verir və çoxlu PHP şablon kodunu aradan qaldırır. Klassik temalar isə developerə markup üzərində dəqiq nəzarət verir və plaginlərin, səhifə qurucularının və hookların bütün tarixi ilə işləyir. Doğru seçim saytı işə salındıqdan sonra kimin redaktə edəcəyindən asılıdır.
Klassik temamı blok temaya çevirə bilərəm?
Bir düyməni basmaqla yox. Çevirmək hər PHP şablonunu HTML blok markup-u kimi yenidən yazmaq, stilləri theme.json faylına köçürmək, vidcet sahələrini və menyuları bloklarla əvəz etmək deməkdir. Çox fərdiləşdirilmiş bir tema üçün bu, miqrasiya deyil, sıfırdan qurmaqdır. Hibrid yanaşma — klassik temaya theme.json əlavə etmək — adətən daha ucuz ilk addımdır.
Sayt Redaktorunda redaktə etdikdən sonra şablon faylındakı dəyişikliklərim niyə görünmür?
Kimsə Sayt Redaktorunda bir şablonu redaktə edən kimi WordPress həmin versiyanı verilənlər bazasına wp_template yazısı kimi saxlayır və bazadakı nüsxə diskdəki faylı üstələyir. Həmin şablon üçün fərdiləşdirmələr təmizlənənə qədər fayl redaktələriniz nəzərə alınmır. Bu, ilk blok temasında demək olar ki, hər developeri təəccübləndirir.
Klassik tema müasir WordPress-də hələ də işləyir?
Bəli. Klassik temalar tam dəstəklənir, heç bir köhnəlmə xəbərdarlığı almır və həmişəki PHP şablon iyerarxiyası ilə işləyir. Fərdiləşdirici onlar üçün hələ də yüklənir. WordPress-in inkişaf diqqəti blok temalara yönəlib, ona görə yeni redaktor imkanlarının əvvəlcə orada görünəcəyini gözləyin, amma klassik temaların sıradan çıxarılması planlaşdırılmır.