Block Theme vs Classic Theme WordPress: Perbandingan Apa Adanya
Bedakan block theme dan classic theme dalam 30 detik, lihat ongkosnya bagi editor dan developer, lalu putuskan pindah, bertahan, atau cukup menambahkan theme.json.
Dipublikasikan
Buka folder tema Anda. Kalau di dalamnya ada folder templates yang berisi index.html, ditambah theme.json di root, berarti Anda memakai block theme. Kalau di dalamnya ada index.php bersama file seperti header.php dan footer.php, dan sidebar admin Anda menampilkan Appearance lalu Customizer, berarti Anda memakai classic theme.
Satu perbedaan struktur itu menentukan siapa yang bisa mengubah apa di situs Anda, di mana perubahan itu disimpan, dan separuh ekosistem plugin WordPress yang mana yang berperilaku normal.
Identifikasi 30 detik
| Penanda | Classic theme | Block theme |
|---|---|---|
| File template utama | index.php | templates/index.html |
| Header dan footer | header.php, footer.php | parts/header.html, parts/footer.html |
| Konfigurasi global | functions.php | theme.json (plus functions.php opsional) |
| Menu admin | Appearance > Customizer | Appearance > Editor |
| Tempat perubahan disimpan | File di disk | Database, sebagai pos wp_template |
| Layar Widget | Ada | Tidak ada |
WordPress menentukannya dengan mencari templates/index.html. Tema yang membawa theme.json tetapi tetap memakai template PHP-nya masih dianggap classic — kondisi tengah itu umum terjadi dan ada namanya, dibahas di bawah.
Kalau Anda punya akses shell, satu perintah sudah cukup:
wp eval 'var_dump( wp_is_block_theme() );'
WP-CLI adalah cara pengecekan tercepat pada situs yang bukan Anda yang membangunnya, terutama ketika sebuah page builder menyembunyikan menu admin yang biasa.
Apa yang berubah bagi orang yang mengedit situs
Di classic theme, header, footer, sidebar, warna, dan logo berada di balik Customizer, dan Anda hanya kebagian kontrol yang diputuskan dibuat oleh penulis temanya. Kalau tema itu tidak mendaftarkan kontrol untuk teks hak cipta di footer, ya tidak ada kontrolnya. Anda mengedit file PHP atau menerimanya apa adanya.
Di block theme, Site Editor membuka seluruh halaman. Header, footer, loop, halaman 404, tata letak hasil pencarian — semuanya blok, semuanya bisa diedit oleh orang yang belum pernah melihat PHP. Itulah fitur utamanya yang sesungguhnya, dan nilainya memang besar.
Ongkosnya: semuanya bisa diedit oleh orang yang belum pernah melihat PHP. Klien bisa menghapus judul situs dari header jam 2 pagi dan tidak ada riwayat versi di disk untuk memulihkannya — hanya revisi milik Site Editor sendiri. Menguncinya memang bisa lewat block locking dan dengan membatasi siapa yang boleh masuk ke editor, tetapi itu pekerjaan opsional yang harus Anda ingat untuk dikerjakan.
Dua kehilangan kecil yang terasa dalam praktik: block theme tidak punya layar Widget (area widget digantikan template part dan blok), dan menu klasik digantikan blok Navigation, yang menyimpan itemnya sebagai jenis konten terpisah alih-alih di layar Menus yang sudah akrab.
Apa yang berubah bagi developer
Classic theme memakai hierarki template PHP. WordPress menyelesaikan sebuah permintaan menuruni rantai yang sudah diketahui — single-{post-type}.php, lalu single.php, lalu singular.php, lalu index.php — dan file Anda dijalankan, memanggil get_header(), menjalankan The Loop, dan mencetak markup yang Anda kendalikan huruf demi huruf.
<?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(); ?>
Block theme memakai nama hierarki yang sama dengan ekstensi .html, tetapi isi filenya adalah markup blok — HTML dengan pembatas blok di dalam komentar — dan tidak ada template tag:
<!-- 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"} /-->
Tiga konsekuensi yang langsung ditemui developer:
get_header() dan get_footer() tidak pernah dijalankan. Apa pun yang dikaitkan ke action tersebut, baik di plugin maupun di tema anak lama, diam-diam tidak melakukan apa-apa. wp_head dan wp_footer tetap berjalan, jadi sebagian besar proses enqueue selamat, tetapi hook khusus header tidak.
Database mengalahkan file Anda. Begitu ada yang menyimpan sebuah template di Site Editor, WordPress menyimpan versi itu sebagai pos wp_template dan menyajikannya menggantikan file Anda. Anda bisa mengedit file HTML seharian penuh dan tidak melihat perubahan apa pun di front end. Membersihkan kustomisasi untuk template tersebut akan mengembalikan versi file. Ini laporan “block theme saya rusak” yang paling sering muncul, dan ini bukan bug.
Penataan gaya pindah ke theme.json. Warna, skala spasi, tipografi, dan bawaan per blok dideklarasikan sebagai data alih-alih CSS, lalu WordPress yang menghasilkan CSS-nya. Ini lebih rapi dan jauh lebih konsisten — sampai Anda butuh sesuatu yang tidak bisa diungkapkan skemanya, dan pada titik itu Anda tetap menulis CSS sambil bergulat dengan spesifisitas melawan aturan yang dihasilkan otomatis.
{
"version": 3,
"settings": {
"color": {
"palette": [
{ "slug": "brand", "color": "#1a1a1a", "name": "Brand" }
]
}
}
}
Periksa nilai version terhadap rilis WordPress yang Anda pakai — skemanya sudah beberapa kali direvisi dan menyalin nomor versi dari tutorial lama menghasilkan settings yang diabaikan tanpa suara.
Perlu dicatat, functions.php tidak hilang. Block theme tetap memakainya untuk enqueue, mendaftarkan entri add_image_size, custom post type, dan apa pun lainnya yang berbau PHP. Anda hanya jauh lebih sedikit menulis templating di sana.
Apa yang benar-benar Anda dapat, dan apa yang benar-benar Anda lepas
Pindah ke block memberi Anda: kendali editor atas seluruh halaman, konsistensi desain yang dipaksakan theme.json, lebih sedikit file untuk dirawat, dan gaya yang cocok antara editor dan front end jauh lebih sering daripada yang pernah dicapai classic theme.
Pindah ke block membuat Anda kehilangan: kendali langsung atas markup keluaran, kustomisasi berbasis hook yang lugas, kompatibilitas dengan apa pun yang mengasumsikan template PHP, serta ketenangan karena tampilan situs berada di dalam version control.
Poin terakhir itu layak ditekankan. Di classic theme, git log memberi tahu Anda apa yang berubah. Di block theme, sebagian besar tampilan situs berada di dalam database, tempat yang tidak dilihat oleh pipeline deployment Anda.
Kapan classic theme masih jawaban yang tepat
- Situsnya dijalankan page builder. Elementor, Divi, Beaver Builder, dan sejenisnya mengambil alih templating sendiri. Menumpuk block theme di bawahnya hanya menambah sistem templating kedua yang tidak melakukan apa-apa.
- Markup-nya harus persis. Pustaka komponen buatan sendiri, markup aksesibilitas yang ketat, kebutuhan schema yang tidak lazim — keluaran blok dibatasi oleh apa yang bisa dihasilkan blok, dan melawannya lebih mahal daripada menulis PHP.
- Templating plugin yang berat. Plugin membership, LMS, direktori, dan ekstensi commerce lama sering membawa override template PHP. Banyak yang kini punya padanan blok; banyak juga yang belum.
- Situsnya sudah jadi dan berjalan baik. Tema dengan kustomisasi yang menumpuk selama lima tahun tidak punya jalur upgrade ke block, hanya pembangunan ulang. “Ini pendekatan yang lebih baru” bukan alasan bisnis.
- Tidak ada yang mengeditnya selain Anda. Manfaat utama Site Editor adalah menyerahkan kendali kepada non-developer. Kalau tidak ada non-developer, Anda membayar ongkosnya untuk manfaat yang tidak dipakai siapa-siapa.
Jalan tengah hibrida
Sebuah classic theme bisa menambahkan theme.json dan mendapatkan sistem global styles, preset warna dan spasi, serta gaya editor yang konsisten — sambil tetap mempertahankan template PHP dan Customizer-nya. WordPress tidak menyebutnya block theme, dan Site Editor tetap tidak tersedia, tetapi Anda mendapat sebagian besar manfaat design system dengan usaha yang jauh lebih kecil.
Untuk situs yang sudah ada dan pada dasarnya berjalan baik, ini biasanya langkah pertama yang tepat. Tambahkan theme.json, tentukan palet dan spasi Anda, hapus CSS yang digantikannya, lalu lihat apakah Anda masih menginginkan sisanya.
FAQ
Pertanyaan
Bagaimana cara tahu tema WordPress saya block theme atau classic theme?
Buka folder temanya. Block theme punya folder templates berisi index.html dan hampir selalu punya file theme.json di root. Classic theme punya index.php serta file template PHP seperti header.php dan footer.php. Di halaman admin, block theme menampilkan Appearance lalu Editor, sedangkan classic theme menampilkan Appearance lalu Customizer.
Apakah block theme lebih baik daripada classic theme?
Tidak selalu. Block theme memberi orang non-developer kendali nyata atas setiap bagian halaman dan memangkas banyak boilerplate PHP. Classic theme memberi developer kendali presisi atas markup dan cocok dengan seluruh riwayat plugin, page builder, dan hook. Pilihan yang tepat bergantung pada siapa yang mengedit situs setelah rilis.
Bisakah classic theme saya dikonversi menjadi block theme?
Tidak semudah menekan satu tombol. Konversi berarti menulis ulang setiap template PHP menjadi markup blok HTML, memindahkan gaya ke theme.json, dan mengganti area widget serta menu dengan blok. Untuk tema yang sudah banyak dikustomisasi, ini pembangunan ulang, bukan migrasi. Pendekatan hibrida, yaitu menambahkan theme.json ke classic theme Anda, biasanya langkah pertama yang jauh lebih murah.
Kenapa perubahan pada file template saya berhenti muncul setelah saya mengedit lewat Site Editor?
Begitu ada yang mengedit sebuah template di Site Editor, WordPress menyimpan versi itu ke database sebagai pos wp_template, dan salinan database menang atas file di disk. Perubahan file Anda diabaikan sampai kustomisasi untuk template tersebut dibersihkan. Hampir semua developer terkejut oleh hal ini saat pertama kali menggarap block theme.
Apakah classic theme masih berfungsi di WordPress terbaru?
Ya. Classic theme masih didukung penuh, tidak memunculkan peringatan deprecation, dan menjalankan hierarki template PHP yang sama seperti dulu. Customizer masih dimuat untuk tema jenis ini. Perhatian pengembangan WordPress memang bergeser ke block theme, jadi harapkan fitur editor baru mendarat di sana lebih dulu, tetapi tidak ada rencana apa pun untuk mematikan classic theme.