# EduKarsa — Tema WordPress Native Sekolah & Perguruan Tinggi EduKarsa adalah tema WordPress institusional yang dibangun dengan arsitektur **100% Native & Zero Plugin**. Didesain khusus untuk portal sekolah, madrasah, pesantren, dan perguruan tinggi dengan mengutamakan performa, keamanan ketat, serta aksesibilitas ramah disabilitas. - **Demo Situs**: https://edukarsa.masbudi.my.id - **Portal Aplikasi**: https://apps.masbudi.my.id/edukarsa - **Dukungan & Donasi**: https://donate.masbudi.my.id/edukarsa - **Pengembang**: Mas Budi Kusuma (masbudikusuma@gmail.com — https://masbudi.my.id) --- ## Pilar Arsitektur 1. **Zero Plugin Dependency**: Berjalan optimal tanpa ketergantungan plugin pihak ketiga (tanpa ACF, Elementor, atau plugin galeri). 2. **Modular Architecture (`inc/`)**: Berkas `functions.php` berfungsi murni sebagai pemanggil (*router*). Seluruh fungsionalitas diisolasi ke dalam sub-berkas direktori `inc/`. 3. **Hardened Security Native**: - Pengecekan eksekusi langsung via `defined('ABSPATH') || exit;`. - Injeksi HTTP *security headers* native (`X-Frame-Options`, `X-Content-Type-Options`, `Referrer-Policy`). - Penonaktifan *author enumeration* (`?author=N`) dan proteksi rute REST API `/wp/v2/users` untuk pengguna anonim. - Sanitasi data ketat di seluruh antarmuka Settings API. 4. **WCAG 2.1 Accessibility**: Widget aksesibilitas bawaan dengan Web Speech API (suara baca audio), pengubah ukuran teks, kontras tinggi, mode monokrom, dan sorotan tautan. 5. **Multilingual Terpadu**: Penerjemah instan sisi depan (ID, EN, AR, ZH, JA) serta panel admin dwibahasa (ID/EN). 6. **SEO & Structured Data**: Skema data terstruktur JSON-LD `EducationalOrganization` dan `NewsArticle` native untuk visibilitas mesin pencari. --- ## Modul & Fitur Utama ### 1. Tata Letak Beranda (Native Section Builder) - Pengaturan urutan seksi secara visual (*drag-and-drop*) berbasis jQuery UI Sortable bawaan WordPress. - Loop rendering berbasis daftar putih (*whitelist array*) untuk mencegah celah LFI. - Slider layar penuh terkunci di posisi teratas dengan dukungan custom link per slide. - Kartu statistik melayang dengan penyesuaian margin dinamis. - Sambutan pimpinan institusi dengan rasio potret 3:4. - Rekam jejak capaian (Milestones) anti-celah kosong. - Tiga program unggulan terhubung ke template detail `single-program.php`. - Video profil ganda berlatar efek parallax. - Sembilan poin keunggulan bernomor otomatis dua digit. - Banner pendaftaran (CTA PPDB/PMB) kontras tinggi. - Warta berita terbaru dan akordeon tanya-jawab (FAQ) interaktif. ### 2. Galeri Fasilitas & Lightbox (`page-galeri.php`) - Custom Post Type `galeri` terintegrasi dengan taksonomi `kategori_galeri`. - Tombol penyaring kategori beranimasi halus via JavaScript murni. - Lightbox popup native dengan kontrol zoom, navigasi geser, deskripsi foto, dan dukungan tombol keyboard (Esc, Panah Kiri/Kanan). ### 3. Pop-up Flyer Promosi (`inc/popup.php`) - Modal dialog promosi PMB/pengumuman penting dengan pengatur waktu tunda (*delay*). - Mekanisme penyimpanan sesi (`sessionStorage`) agar tidak berulang kali memblokir layar pengguna. - Opsi pembatasan hanya di beranda serta parameter pratinjau `?preview_popup=1`. ### 4. Navigasi, Sidebar, & Footer - Dropdown menu bertingkat bebas tanda butir (*bullet*). - Sidebar dinamis: form pencarian, mini CTA, daftar berita terkini, arsip kategori, poster gambar, dan kotak HTML kustom. - Navigasi paginasi ganda (antar-halaman dan intra-artikel) serta tombol berbagi media sosial native. - Footer 4 kolom: profil institusi, jam layanan kantor multi-baris, kontak resmi, lencana akreditasi, tombol WhatsApp melayang dinamis, dan atribusi pengembang. --- ## Rekomendasi Dimensi Aset | Aset Media | Rekomendasi Dimensi | Rasio Aspek | Format Ideal | | :--- | :--- | :--- | :--- | | **Logo Header** | Lebar proporsional, tinggi 110 px | Fleksibel | PNG Transparan / WebP | | **Slider Banner** | 1920 × 1080 px atau 1920 × 800 px | 16:9 / Lebar | JPG / WebP (< 300 KB) | | **Foto Pimpinan** | 600 × 800 px atau 800 × 1067 px | 3:4 (Potret) | JPG / WebP | | **Latar Parallax** | 1920 × 1080 px | 16:9 Lanskap | JPG / WebP | | **Flyer Pop-up** | Minimal 800 × 800 px | 1:1 / 4:5 | JPG / WebP (< 250 KB) | | **Poster Sidebar** | Lebar 600 px (tinggi bebas) | Vertikal | JPG / WebP | | **Galeri Kampus** | 1200 × 900 px | 4:3 Lanskap | JPG / WebP | --- ## Struktur Direktori edukarsa/ ├── 404.php ├── footer.php ├── front-page.php ├── functions.php ├── header.php ├── inc/ │ ├── admin-menu.php │ ├── cpt-slider.php │ ├── i18n.php │ ├── popup.php │ ├── security.php │ ├── seo.php │ └── setup.php ├── index.php ├── page-galeri.php ├── page.php ├── README.md ├── sidebar.php ├── single-program.php ├── single.php └── style.css --- ## Petunjuk Penggunaan 1. **Pengaturan Identitas**: Masuk ke **EduKarsa > ⚙️ Pengaturan Utama** untuk konfigurasi logo, warna tema, font, profil, kontak, dan footer. 2. **Menyusun Halaman Utama**: Buka **EduKarsa > 🏗️ Tata Letak** untuk mengatur urutan seksi secara drag-and-drop, lalu simpan perubahan. 3. **Membuat Halaman Galeri**: - Tambahkan dokumentasi pada **EduKarsa > 📸 Galeri Fasilitas** dan tandai kategorinya. - Buat laman baru (**Laman > Tambah Baru**), pilih template **Galeri & Fasilitas** di panel atribut laman, lalu terbitkan. 4. **Mengaktifkan Pop-up Flyer**: - Buka panel **🪟 8. Pop-up Flyer & Pengumuman** di Pengaturan Utama. - Aktifkan sakelar, unggah berkas flyer, isi tautan tujuan pendaftaran, lalu simpan. --- ## Lisensi & Hak Cipta Dirancang dan dikembangkan oleh **Mas Budi Kusuma** ([masbudi.my.id](https://masbudi.my.id)). Didistribusikan di bawah naungan lisensi **GNU General Public License v2** atau yang lebih baru.