Core mengelola satu system theme bernama default. Theme lain dipasang dan diperbarui melalui Theme Store atau paket yang sesuai. Theme aktif dipilih dari dashboard; file PHP theme harus diperlakukan sebagai kode tepercaya.
Kontrak theme
theme.json mendeskripsikan identitas, partial, Customizer, layout zone, aset, dan metadata Store. Rendering memakai slot seperti header, footer, homepage, list, single post, dan single page. Resolver mencoba assignment, theme aktif, lalu fallback system theme.
Customizer dan Theme Zones
Customizer menyimpan nilai per folder theme dalam setting theme_mods_{folder}. Field yang didukung antara lain image, menu, sidebar zone, textarea, text, dan toggle. Theme harus membaca nilai dengan helper dan menyediakan default.
Theme Zones menyimpan gadget per theme_folder, zone, position, dan ordering. Layout di manifest hanya menyatakan kontrak posisi dan default yang dapat dimuat; data pengguna tetap di database. Template sebaiknya memeriksa apakah posisi berisi gadget, merendernya, lalu menyediakan fallback HTML bila kosong.
Pengembangan
Partial berada di folder seperti main/, single/, list/, dan index/. Plugin dapat menambah tipe gadget melalui filter registry dan renderer. Jangan mengedit system theme untuk perubahan yang harus bertahan lintas update; buat theme Store/custom dan uji desktop, mobile, serta kondisi tanpa gadget.