Persyaratan & Struktur Direktori

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