Siklus Hidup & Bootstrapping Tema
Inisialisasi tema Xionic berlangsung melalui file functions.php tema parent. Seluruh eksekusi diatur secara terstruktur menggunakan arsitektur OOP dan Singleton.
Alur Inisialisasi (Bootstrapping Flow)
flowchart TD
A[functions.php] --> B[Memuat core/Autoloader.php]
B --> C[Memuat Procedural Helpers: inc/hooks.php, template-tags.php, font-map.php]
C --> D[Mendeklarasikan xionic Helper Singleton]
D --> E[Eksekusi xionic->boot]
subgraph Core Bootstrapping
E --> F1[Inisialisasi ThemeSetup & Enqueue]
E --> F2[Inisialisasi ThemeOptions & Features Manager]
E --> F3[Inisialisasi BlockSupport & ElementBlocks]
E --> F4[Inisialisasi LayoutBuilder & SectionBlocks]
E --> F5[Inisialisasi CPTs: Testimoni, Events, Portfolio, Teams, FAQ, Contact]
E --> F6[Inisialisasi ImageOptimizer, SchemaMarkup, MetaManager, QueryOptimizer]
E --> F7[Inisialisasi Hooks & Customizer]
E --> F8[Inisialisasi Modul WooCommerce jika plugin aktif]
end
E --> G[Memicu action: do_action 'xionic_loaded']
Rincian Tahapan Bootstrapping
- Autoloader PSR-4 (
core/Autoloader.php):
Mendaftarkan prefix namespace XionicCore yang mengarah ke direktori core/. Setiap kelas dimuat secara lazy saat dibutuhkan.
- Procedural Helpers (
inc/):
inc/hooks.php: Membungkus fungsi trigger hook WordPress untuk mempermudah pemanggilan di template.inc/template-tags.php: Menyediakan helper global sepertixionicgetoption(),xioniccustomlogo(), dan fungsi pagination.inc/font-map.php: Memetakan slug nama font ke Google Fonts URL dan font-family CSS.
3. Singleton Entry Point (XionicCoreFramework):
Fungsi pembantu xionic() mengembalikan instance tunggal kelas utama, memastikan satu siklus hidup yang konsisten di seluruh aplikasi WordPress.
- Eksekusi Fitur Kondisional:
Komponen CPT dan Layout Builder hanya dimuat jika fitur tersebut diaktifkan di Features Manager.
- Hook Selesai (
xionicloaded):
Setelah seluruh modul terpasang, framework memicu action xionicloaded. Developer Child Theme atau plugin dapat mengaitkan logika kustom ke titik hook ini.