Siklus Hidup & Bootstrapping

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)

MERMAID
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

  1. Autoloader PSR-4 (core/Autoloader.php):

Mendaftarkan prefix namespace XionicCore yang mengarah ke direktori core/. Setiap kelas dimuat secara lazy saat dibutuhkan.

  1. Procedural Helpers (inc/):
  • inc/hooks.php: Membungkus fungsi trigger hook WordPress untuk mempermudah pemanggilan di template.
  • inc/template-tags.php: Menyediakan helper global seperti xionicgetoption(), 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.

  1. Eksekusi Fitur Kondisional:

Komponen CPT dan Layout Builder hanya dimuat jika fitur tersebut diaktifkan di Features Manager.

  1. Hook Selesai (xionicloaded):

Setelah seluruh modul terpasang, framework memicu action xionicloaded. Developer Child Theme atau plugin dapat mengaitkan logika kustom ke titik hook ini.