Persyaratan Sistem & Arsitektur Direktori
Persyaratan Sistem
Untuk menjalankan Xionic Theme Framework secara optimal, pastikan lingkungan server web Anda memenuhi kriteria berikut:
| Komponen | Spesifikasi Minimum | Rekomendasi | Keterangan |
|---|---|---|---|
| WordPress | 6.0+ | 6.5+ / 6.7+ | Membutuhkan dukungan theme.json v2/v3 |
| PHP | 7.4+ | 8.1+ / 8.2+ | Direkomendasikan PHP 8.1+ untuk performa terbaik |
| Database | MySQL 5.7+ / MariaDB 10.4+ | MySQL 8.0+ | InnoDB storage engine disarankan |
| Ekstensi PHP | curl, json, mbstring, gd atau imagick |
imagick |
imagick dibutuhkan untuk konversi WebP otomatis |
Peta Struktur Direktori
Berikut adalah pohon direktori lengkap dari tema parent Xionic (wp-content/themes/xionic/):
TEXT
wp-content/themes/xionic/
├── assets/ # Static Assets
│ ├── css/
│ │ ├── main.css # CSS inti tema (non-blocking)
│ │ ├── critical.css # Critical CSS (di-inline langsung di <head>)
│ │ ├── print.css # CSS khusus mode cetak
│ │ ├── woocommerce.css # Styling bespoke WooCommerce
│ │ └── vendor/bootstrap.min.css # Bootstrap 5.3.3 lokal
│ ├── js/
│ │ ├── main.js # Skrip utama front-end (Vanilla JS)
│ │ ├── woocommerce.js # Logika interaksi keranjang belanja
│ │ └── vendor/bootstrap.bundle # Bootstrap JS lokal (deferred)
│ └── fonts/ # Self-hosted woff2 font files
│
├── core/ # Logika Utama Framework (OOP, PSR-4)
│ ├── Autoloader.php # PSR-4 Autoloader namespace XionicCore
│ ├── Framework.php # Singleton Main Class (Entry Point)
│ │
│ ├── Setup/ # Modul Inisialisasi & Fitur
│ │ ├── ThemeSetup.php # add_theme_support(), menus, widget areas
│ │ ├── Enqueue.php # Asset loader, deferred logic, font loader
│ │ ├── ThemeOptions.php # Konfigurasi Options Panel (MadOptions)
│ │ ├── Features.php # Feature flag registry & admin screen
│ │ ├── BlockSupport.php # Gutenberg setup & custom block categories
│ │ ├── ElementBlocks.php # Standalone Gutenberg elements (Timeline, dll.)
│ │ ├── LayoutBuilder.php # Core engine penemu komponen layout & page builder
│ │ ├── SectionBlocks.php # Dynamic Gutenberg block bridge untuk layout sections
│ │ ├── ImageOptimizer.php # WebP conversion, responsive image scaling
│ │ ├── SchemaMarkup.php # JSON-LD Structured Data generator
│ │ ├── MetaManager.php # SEO meta tags, OpenGraph, Twitter cards
│ │ ├── QueryOptimizer.php # Query caching, transient handling, disable bloat
│ │ ├── Contact.php & Settings # Form kontak, database pesan, notifikasi WA/TG/Email
│ │ ├── Events.php # CPT Agenda & Acara
│ │ ├── Faq.php # CPT FAQ & Tanya Jawab
│ │ ├── Portfolio.php # CPT Portofolio & Studi Kasus
│ │ ├── Teams.php # CPT Anggota Tim / Profil Staff
│ │ └── Testimoni.php # CPT Testimoni & Ulasan Klien
│ │
│ ├── Framework/ # Utilitas & Abstraksi Child Theme
│ │ ├── TemplateLoader.php # Engine pelacak template (Child -> Parent hierarchy)
│ │ ├── Hooks.php # Registrasi action & filter bawaan framework
│ │ ├── NavWalker.php # Custom Bootstrap 5 Nav Walker
│ │ └── Customizer.php # Integrasi fallback WordPress Customizer
│ │
│ └── WooCommerce/ # Integrasi Toko Online
│ ├── WCSetup.php # add_theme_support WooCommerce & wrappers
│ ├── WCHooks.php # Action & filter khusus WooCommerce
│ └── WCOptimizer.php # Optimasi query produk & de-enqueue asset pada halaman non-shop
│
├── inc/ # Helper Functions & Global Procedural API
│ ├── font-map.php # Daftar pemetaan slug font ke font-family & Google Fonts
│ ├── hooks.php # Deklarasi fungsi trigger do_action() framework
│ └── template-tags.php # Fungsi helper output HTML (logo, pagination, meta, option getter)
│
├── madoptions/ # Reusable OOP Options Panel Engine
│ ├── madoptions.php # Library inti panel options
│ └── assets/ # JS/CSS color picker, media uploader, tabs
│
├── templates/ # Modular Template Parts (Bisa dioverride oleh Child Theme)
│ ├── header/ # Layout header (default.php, header-2.php, header-3.php)
│ ├── footer/ # Layout footer (default.php, footer-2.php, footer-3.php)
│ ├── article/ # Layout artikel post tunggal (article-default, article-2, article-3)
│ └── components/ # Komponen UI
│ ├── hero.php # Front-page hero standalone
│ ├── single-post.php # Konten postingan utama
│ ├── related-posts.php # Grid artikel terkait
│ ├── elements/ # Komponen UI mandiri (misal: timeline.php)
│ └── layouts/ # Komponen Layout Builder (hero, stats, grid, banner, dll.)
│
├── woocommerce/ # Template Overrides bawaan WooCommerce
├── functions.php # Inisialisasi tema utama
├── style.css # Header metadata tema
├── theme.json # Konfigurasi Design Tokens & Gutenberg Blocks
└── ARCHITECTURE.md, STANDARDS.md # Dokumen referensi standar kode