118 lines
5.9 KiB
Markdown
118 lines
5.9 KiB
Markdown
# 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.
|