Khi bắt đầu một website WordPress mới năm 2026, câu hỏi đầu tiên về giao diện không còn là “chọn theme nào cho đẹp”, mà là “đi theo dòng nào”: block theme hay classic theme. Hai cách tiếp cận này khác nhau từ gốc — từ nơi lưu bố cục, cách người dùng chỉnh sửa, đến cách lập trình viên bảo trì. Bài viết phân tích từng khía cạnh để bạn quyết định dựa trên dự án thật, không theo cảm tính.
Hai triết lý dựng giao diện khác nhau
Classic theme là cách WordPress hoạt động suốt hơn một thập kỷ. Giao diện được ghép từ các file PHP — header.php, footer.php, single.php, index.php — và lập trình viên viết code để quyết định mọi thứ hiển thị ra sao. Người dùng cuối chỉnh màu, logo, menu qua nhiều cửa sổ riêng: Customizer (trình tuỳ biến), Widgets (tiện ích), Menus (trình đơn).
Block theme (giao diện khối) là hướng đi mới gắn với Full Site Editing — FSE (chỉnh sửa toàn trang). Thay vì file PHP, bố cục được lưu thành file HTML chứa block markup (mã đánh dấu khối), và toàn bộ — header, footer, nội dung, menu — được chỉnh trực quan trong một nơi duy nhất gọi là Site Editor (trình sửa site). Theo tài liệu chính thức, kể từ WordPress 6.7, block theme là hướng được khuyến nghị cho mọi theme mới.

So sánh từng khía cạnh
| Khía cạnh | Classic theme | Block theme |
|---|---|---|
| Lưu bố cục | File PHP (single.php…) | File HTML trong templates/ |
| Khai báo style chung | CSS + Customizer | theme.json + bảng Styles |
| Nơi chỉnh sửa | 4 cửa sổ rời (Customizer, Widgets, Menus, editor) | 1 giao diện Site Editor |
| Người chỉnh được layout | Cần biết code PHP | Người không code cũng kéo thả được |
| Đường học cho dev | PHP truyền thống, quen thuộc | theme.json + block markup, mới hơn |
| Page builder (Elementor, Divi) | Hợp gu, tối ưu cho dòng này | Không cần, đôi khi xung đột |
Cách dựng template: PHP vs HTML khối
Đây là khác biệt cốt lõi. Với classic theme, muốn đổi cách hiển thị bài viết, bạn mở single.php và viết PHP:
<?php get_header(); ?>
<main>
<?php while ( have_posts() ) : the_post(); ?>
<h1><?php the_title(); ?></h1>
<?php the_content(); ?>
<?php endwhile; ?>
</main>
<?php get_footer(); ?>Với block theme, cùng mục đích đó là file templates/single.html chứa block markup khai báo:
<!-- wp:template-part {"slug":"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"} /-->File HTML không chạy logic PHP — nó mô tả “trang gồm những khối nào”. Cách khai báo này (declarative) làm Git diff dễ đọc hơn template PHP, nhưng logic động phức tạp thì khó nhét vào hơn, thường phải tách ra thành block tự code. Quy luật chọn template đúng cho từng loại trang vẫn theo template hierarchy (thứ tự ưu tiên template) — bạn có thể xem bài riêng về thứ tự template để hiểu sâu.
Tuỳ biến và quyền của người dùng cuối
Classic theme đặt quyền chỉnh layout vào tay lập trình viên: muốn đổi vị trí header phải sửa code. Block theme mở quyền đó cho cả người không biết code — họ vào Site Editor, bấm vào header, kéo thả khối là xong. Với khách hàng tự quản trị website sau bàn giao, đây là điểm cộng lớn; nhưng cũng là điểm trừ nếu bạn muốn “khoá” layout để khách không vô tình làm vỡ.
theme.json — bộ não style của block theme
Block theme tập trung mọi thiết lập style chung vào một file theme.json: bảng màu, cỡ chữ, khoảng cách, font. Đây vừa là điểm mạnh (một nguồn sự thật duy nhất, đồng bộ giữa editor và frontend) vừa là thứ phải học mới. Classic theme rải các thiết lập này qua CSS và tuỳ chọn Customizer, quen tay hơn với dev cũ nhưng dễ vênh giữa lúc xem trước và lúc hiển thị thật. Cấu trúc file theme.json và cách khai báo token thiết kế là một chủ đề riêng đáng đọc kỹ.
Hiệu năng
Block theme thường tải nhẹ hơn nhờ render khối gọn và chỉ nạp CSS của block thực sự dùng, thay vì kéo theo cả khung sườn nặng như nhiều classic theme đa năng. Tuy vậy, hiệu năng phụ thuộc cách dựng nhiều hơn loại theme: một classic theme tinh gọn vẫn nhanh, còn một block theme nhồi quá nhiều block và plugin vẫn chậm. Đừng chọn loại theme chỉ vì kỳ vọng “tự nhanh”.
Đường học và sự tương thích
Với dev đã quen PHP, classic theme gần như không có đường học mới. Block theme đòi học block markup, theme.json, cách dùng Site Editor — mất thời gian đầu nhưng là kỹ năng đi cùng hướng phát triển chính thức của WordPress. Về tương thích: các page builder như Elementor, Divi sinh ra cho paradigm classic theme và chạy mượt nhất ở đó; nếu dự án bám chặt một page builder, classic theme hợp lý hơn.
Còn lựa chọn thứ ba: hybrid theme
Không phải lúc nào cũng chọn một trong hai. Hybrid theme (giao diện lai) giữ template PHP và functions.php kiểu classic, nhưng mượn theme.json, global styles và block pattern (mẫu khối) của block theme. Kể từ WordPress 6.1, classic theme đã có thể dùng template part dạng khối; tới 6.8, theme hỗ trợ editor style còn dùng được Style Book (sổ kiểu) để xem trước mọi khối. Hybrid là lối quá độ hợp lý khi bạn muốn hiện đại hoá dần một site classic mà chưa muốn viết lại toàn bộ.

Vậy nên chọn loại nào
- Dự án mới, khách muốn tự chỉnh giao diện: chọn block theme — đúng hướng WordPress đang đi và dễ bàn giao.
- Phụ thuộc một page builder cụ thể: classic theme vẫn mượt và được nhiều theme premium duy trì tốt tới 2026.
- Site classic đang chạy ổn, muốn nâng cấp dần: đi đường hybrid trước khi tính chuyển hẳn.
- Cần layout động phức tạp, nhiều logic PHP: cân nhắc kỹ — block theme làm được nhưng phải tách block tự code, công sức nhiều hơn.
Tại Web22, khi nhận một dự án WordPress mới Web22 mặc định dựng theo hướng block theme và theme.json để khách dễ tự quản về sau, chỉ giữ classic/hybrid khi dự án có ràng buộc page builder hoặc code cũ cần bảo toàn. Nếu bạn đang phân vân giữa hai hướng cho website của mình, dịch vụ code theme WordPress theo yêu cầu có thể giúp bạn chọn đúng và dựng gọn từ đầu.
Câu hỏi thường gặp
Block theme có thay thế hoàn toàn classic theme chưa?
Chưa. Block theme là hướng được khuyến nghị cho theme mới từ WordPress 6.7, nhưng nhiều classic theme premium vẫn được duy trì tích cực và dùng rộng rãi tới 2026.
Đổi từ classic sang block theme có mất nội dung không?
Bài viết và trang nằm trong cơ sở dữ liệu nên không mất. Phần phải dựng lại là giao diện: header, footer, template và các thiết lập layout — đây mới là khối lượng công việc chính khi chuyển.
Người không biết code dùng block theme được không?
Được. Đó chính là lợi thế lớn của block theme — chỉnh layout, màu, menu trực quan ngay trong Site Editor mà không cần đụng vào file PHP.
