Plugin WordPress Cuaca Makkah Madinah

Cover Plugin WordPress Cuaca Makkah Madinah

Konten Artikel Jadi Lebih Menarik

Plugin Cuaca WordPress

Plugin WordPress cuaca Makkah Madinah ini membantu proses pembuatan konten artikel, ketika kamu adalah kontributor penulis yang sering membahas konten seputar Makkah dan Madinah, plugin cuaca Makkah Madinah ini sangat memudahkan mu.

Banyak Shortcode dan Template Menarik

Plugin Cuaca Makkah Madinah Shortcode

Disediakan banyak shortcode yang bisa langsung disisipkan pada artikel maupun halaman WordPress lainnya. Plugin disusun dengan bahasa pemrograman yang rapi, ringan sehingga tidak memberatkan websitemu.

Daftar Shortcode

  • Cuaca Hari Ini
  • Cuaca Per Bulan
  • Kalender Interaktif
  • Shortcode Klasik
  • Hero Sinematik
  • Waktu Terbaik Umroh
  • Compare Mode
  • Template / Skin
  • Galeri Template
  • Embed Iframe
  • JSON API

# Changelog
Semua perubahan penting plugin **Cuaca Makkah Madinah** akan dicatat di sini.
Format mengikuti [Keep a Changelog](https://keepachangelog.com/id-ID/1.1.0/).

## [1.0.8] - 2026-05-09
### Added
- **Galeri Template** (`[cuaca_template_galeri]` / `[cuaca_galeri_template]` / natural `[cuaca makkah galeri]`) — grid kartu semua template terpasang lengkap preview warna, deskripsi, badge "Template aktif", serta tombol **Today** & **Hero** ke iframe preview.
- Mode `preview`: `[cuaca_template_galeri mode="preview" sample="hero"]` me-render iframe live untuk setiap template berurutan (sample dapat: `today`, `hero`, `compare`, `best`, `calendar`).
- Embed iframe baru: `?cmm_embed=1&mode=gallery` untuk menanam galeri di luar WordPress.
- CSS baru `.cmm-best-chart-scroll`, `.cmm-best-hint`, dan blok `.cmm-gallery-*` (`assets/cmm.css`).

### Changed
- **Mobile UX `[cuaca_waktu_terbaik]`:** Chart bar 12 bulan dibungkus container `.cmm-best-chart-scroll` dengan `overflow-x:auto`. Pada layar ≤560px grid memakai kolom tetap `52px` dan `min-width:680px` sehingga seluruh bar tetap proporsional dan dapat digeser horizontal (sebelumnya memendek hingga sulit dibaca / overflow ke kanan). Ditambahkan hint animasi "← geser untuk melihat semua bulan →".
- **Iframe template fallback (`class-cmm-embed.php`):** Resolver template diperketat — jika parameter `&template=` invalid atau file CSS-nya tidak ada di `assets/templates/`, embed otomatis fallback ke `classic` (tidak lagi memuat URL CSS yang 404). Wrapper `.cmm-tpl` mendapat style minimal anti-collapse + placeholder "Memuat template…" jika kosong.
- Whitelist mode embed diperluas: `today|month|calendar|hero|best|compare|compare-month|gallery`.
- **Halaman Info & Panduan** dirombak agar lebih rapi: daftar isi (TOC) dua kolom dengan anchor klik-untuk-loncat, setiap shortcode dibungkus kartu (`.cmm-doc-section`) dengan judul + badge versi (`v1.0.x`) dan badge hijau **"BARU"** untuk fitur v1.0.8. Seksi #9 baru: **Galeri Template**.
- `class-cmm-shortcode.php`: shortcode `[cuaca_waktu_terbaik]` & natural parser kini mengenali `galeri`/`gallery`/`template`.
- `cuaca-makkah-madinah.php`: bump versi ke **1.0.8**.
- `readme.txt`: stable tag → 1.0.8, daftar fitur menyebut Galeri Template, blok Changelog ditambah entri 1.0.8.

### Notes
- Tidak ada migrasi DB. Semua perubahan kompatibel mundur — template lama tetap bekerja, shortcode lama tidak berubah markup-nya.
- Mode preview pada `[cuaca_template_galeri mode="preview"]` membuat banyak iframe (1 per template). Pakai sparing-ly atau pada halaman demo internal saja.

## [1.0.7] - 2026-05-09
### Added
- **5 template tampilan baru** (total kini 8 skin bawaan), semua memakai wrapper `.cmm-tpl-<id>` tanpa mengubah markup inti:
  - `glasssky` (Glass Sky) — Putih bersih + biru langit (`#0ea5e9`), glassmorphism halus, ikon line-art tipis dengan opacity 0.85, tipografi *Inter*. Estetika clean SaaS.
  - `brutalist` (Brutalist Mono) — Hitam-putih kontras tinggi, border `2px solid #000`, hard-shadow `4px 4px 0`, font monospace (*JetBrains Mono*), aksen kuning (`#facc15`) untuk highlight suhu. Hover menggeser kartu & menebalkan shadow ala desain brutalist.
  - `heritage` (Mosque Heritage) — Biru tua (`#0c2340`) + emas (`#d4af37`), pola arabesque SVG inline berulang sebagai background, double-border (solid + dashed inset) ala bingkai mushaf, tipografi serif (*Amiri/Cormorant*).
  - `pilgrim` (Pilgrim Card) — Latar krem dengan garis tipis horizontal ala kertas tiket, border `2px dashed`, label "✈ TICKET" di pojok, badge kota dengan stempel merah miring (`rotate(-3deg)`), font monospace (*Courier*).
  - `neumorph` (Neumorph Soft) — Latar pastel `#e8ecf3`, soft shadow extruded (`6px 6px 14px` + `-6px -6px 14px`), palet aksen pastel ungu-pink, hover beralih ke inset shadow, tipografi rounded (*Nunito*).
- Registrasi otomatis kelima template di `CMM_Template::all()` (deskripsi + warna preview), tampil di grid pemilih halaman Pengaturan dan dapat dipakai via `[shortcode template="<id>"]` atau `&template=<id>` pada iframe.

### Changed
- `cuaca-makkah-madinah.php`: bump versi ke **1.0.7**.
- `class-cmm-admin.php`: seksi #8 panduan diperbarui — daftar 8 template lengkap dengan tag "baru v1.0.7" untuk template baru.
- `readme.txt`: stable tag dinaikkan, daftar fitur menyebut 8 template, blok Changelog ditambah entri 1.0.7.

### Notes
- Tidak ada migrasi DB. Semua template baru opsional — default tetap `classic`.
- Template `brutalist` memakai `border-radius:0!important` & `text-transform:uppercase` di seluruh wrapper, jadi sebaiknya dipakai pada halaman/section khusus, bukan campur dengan tema yang sudah berkarakter kuat.
- Template `heritage` menggunakan SVG arabesque inline (data-URI) sehingga tidak ada permintaan HTTP tambahan.

## [1.0.6] - 2026-05-07
### Added
- **Sistem Template / Skin** baru: framework ringan untuk mengubah warna, ikon, dan visual semua shortcode tanpa edit kode.
  - Class baru `CMM_Template` (`includes/class-cmm-template.php`) dengan registry, resolver, enqueue, dan helper `apply()` (enqueue + wrap markup).
  - Opsi WP `cmm_active_template` menyimpan template default; bisa diatur di halaman **Pengaturan** plugin (kartu pilihan dengan preview warna).
  - Override per-shortcode lewat atribut: `[cuaca_kalender template="aurora"]`, `[cuaca_hero template="desert"]`, `[cuaca_compare template="emerald"]`, dll.
  - Embed iframe mendukung parameter `&template=<id>` (mis. `?cmm_embed=1&mode=calendar&template=aurora`).
  - Filter pengembang `cmm_templates` untuk menambah template kustom — cukup daftarkan id, nama, deskripsi, dan file CSS di `assets/templates/`.
- **3 template bawaan baru** dengan warna, ikon, dan visual berbeda namun konsisten dengan struktur markup eksisting:
  - `aurora` (Aurora Night) — Glassmorphism gelap, aksen neon biru-ungu (`#7c5cff` & `#22d3ee`), ikon bercahaya, tipografi *Space Grotesk*.
  - `desert` (Desert Editorial) — Palet pasir/emas/cokelat (`#c08a2e`, `#8a5a17`, `#b1452b`), tipografi serif (*Playfair Display*/*Source Serif Pro*), bingkai emas tipis di sekitar wrapper.
  - `emerald` (Emerald Minimal) — Hijau zamrud (`#047857`) + aksen emas (`#b78a3a`), ornamen geometris di pinggir kartu, hero berlatar emerald.

### Changed
- `cuaca-makkah-madinah.php`: bump versi ke 1.0.6, load `class-cmm-template.php`, dan inisialisasi `CMM_Template::init()` di `plugins_loaded`.
- `class-cmm-shortcode.php`: setiap shortcode publik (`render`, `render_calendar_sc`, `render_hero_sc`, `render_best_time_sc`, `render_compare_sc`) menerima atribut `template` dan membungkus output via `CMM_Template::apply()`.
- `class-cmm-embed.php`: parser parameter ditambah `template`, otomatis enqueue stylesheet template & wrap konten untuk semua mode embed.
- `class-cmm-admin.php`: panel **Template / Skin Tampilan** baru di halaman Pengaturan + handler `admin_post_cmm_save_template`. Tab Deskripsi pada Info & Panduan ditambah seksi **#8 Template / Skin Tampilan**.

### Notes
- Template bawaan ditulis dengan spesifisitas `.cmm-tpl-<id>` agar tidak konflik dengan tema WP induk. Markup tidak diubah, hanya disembelubungi `<div class="cmm-tpl cmm-tpl-<id>">` sehingga template kustom hanya perlu menulis CSS.
- Tidak ada migrasi DB yang dibutuhkan; opsi `cmm_active_template` default `classic` jika belum dipilih.

## [1.0.5] - 2026-05-06
### Added
- **Compare Mode** — shortcode baru `[cuaca_compare]` menampilkan kartu split berdampingan Makkah vs Madinah dalam satu kartu, dengan badge **VS** di tengah, gradient khas tiap kota (Makkah biru-malam, Madinah hijau-teal), dan baris insight otomatis (mis. "Makkah hari ini 2°C lebih panas dari Madinah").
  - Mode hari ini (default) dan mode bulanan: `[cuaca_compare mode="month" bulan="6" tahun="2026"]`.
  - Sintaks natural: `[cuaca makkah vs madinah]`, `[cuaca makkah banding]`, `[cuaca makkah compare]`.
  - Embed iframe: `?cmm_embed=1&mode=compare` dan `?cmm_embed=1&mode=compare-month&bulan=...&tahun=...`.
- Hint geser horizontal pada kalender mobile ("← geser untuk melihat semua hari →") dengan animasi halus, otomatis tersembunyi di layar ≥641px.

### Changed
- **Kalender mobile (≤640px)** kini menggunakan **horizontal scroll** alih-alih menyusutkan sel (overflow ke kanan diatasi). Grid kalender mempertahankan lebar minimum 680px sehingga seluruh 7 kolom hari (SENIN–MINGGU) tetap terbaca dengan ukuran proporsional; pengguna tinggal menggeser ke samping. Scroll-snap diaktifkan agar terasa natural di sentuhan.
- Scrollbar kustom (tipis) di area kalender, plus padding & radius yang konsisten dengan kartu utama.
- `CMM_Embed::get_params()` memperluas whitelist mode menjadi `today|month|calendar|hero|best|compare|compare-month`.
- Halaman admin **Info & Panduan** ditambah seksi #7 (Compare Mode) lengkap contoh shortcode + iframe.

## [1.0.4] - 2026-05-05
### Added
- Shortcode baru **`[cuaca_hero kota="makkah|madinah"]`** — banner sinematik "Kondisi Hari Ini":
  - Gradient dinamis berdasarkan mood cuaca: `sunny`, `hot`, `cloudy`, `rainy`, `foggy`.
  - Animasi: orb cahaya melayang (`@keyframes cmm-orb`) + tiga partikel halus (`cmm-float`) — pure CSS, tanpa JS.
  - Jam waktu lokal Arab Saudi (Asia/Riyadh) dengan dot pulse hijau.
  - Suhu besar (rata-rata harian) + range min/max, kelembaban, kecepatan angin.
  - Sintaks natural: `[cuaca makkah hero]`, `[cuaca madinah hero]` / `sinematik`.
- Shortcode baru **`[cuaca_waktu_terbaik]`** — visualisasi "Kapan waktu terbaik untuk umroh":
  - Podium Top 3 bulan paling ideal dengan label warna (Sangat Ideal/Nyaman/Cukup/Berat/Ekstrem).
  - Chart bar 12 bulan dengan tinggi proporsional skor 0–100, highlight kuning pada bulan saat ini, tooltip detail (suhu rata-rata + crowd index).
  - Legenda warna + catatan disclaimer.
  - Sintaks natural: `[cuaca makkah waktu terbaik]` / `[cuaca makkah kapan]`.
- Modul `CMM_Climate::umrah_score()` & `score_label()` — perhitungan skor 0-100 = 65% kenyamanan suhu + 35% indeks kepadatan jemaah (1-10).
- Mode embed iframe baru: `?cmm_embed=1&mode=hero&kota=...` dan `?cmm_embed=1&mode=best`.
- Halaman admin **Info & Panduan** ditambah seksi #5 (Hero Sinematik) dan #6 (Kapan Waktu Terbaik) dengan contoh kode + iframe.

### Changed
- `assets/cmm.css` ditambah blok style hero (≈40 selector) dan best-time (≈25 selector), responsif (breakpoint 520px / 560px) + ekstensi `.cmm-theme-dark`.
- `CMM_Embed::get_params()` memperluas whitelist mode menjadi `today|month|calendar|hero|best`.

## [1.0.3] - 2026-05-05
### Added
- Tampilan kalender modern model AccuWeather: header bertingkat (tag kota + judul periode besar), tombol navigasi ikon (‹ ›), filter (kota/bulan/tahun) dengan tombol "Tampilkan" primary, sel kalender tinggi dengan suhu max/min besar dan ikon kanan-bawah, leading/trailing days dari bulan sebelum/sesudah berwarna abu-abu, marker hari ini berbentuk lingkaran hitam.
- Nama hari **penuh** pada baris header kalender: SENIN, SELASA, RABU, KAMIS, JUMAT, SABTU, MINGGU.
- Nama hari ditampilkan di atas tanggal pada shortcode bulanan (`[cuaca makkah juni 2026]`).
- Nama hari pada kartu "hari ini" (mis. "Makkah · SELASA, Hari ini").
- Legenda kalender (penjelasan suhu tertinggi/terendah + sumber data).
- Dukungan tema gelap untuk seluruh komponen (card, kalender, deskripsi).

### Changed
- Refactor `assets/cmm.css`: token warna konsisten, hover state pada sel kalender, dropdown kustom, transisi halus.
- Filter kalender via query string (`cmm_kota`, `cmm_bulan`, `cmm_tahun`) kini juga berlaku tanpa harus melakukan navigasi internal—lebih friendly untuk caching.

## [1.0.2] - 2026-05-05
### Added
- Modul **CMM_Climate**: deskripsi otomatis musim & kisaran suhu rata-rata per bulan untuk Makkah dan Madinah, serta gambaran kondisi jemaah umroh per bulan. Data berbasis klimatologi umum (tidak realtime).
- Shortcode kalender interaktif `[cuaca_kalender kota="makkah" bulan="6" tahun="2026"]` dengan tampilan ala AccuWeather (filter kota, bulan, tahun + navigasi prev/next).
- Sintaks natural untuk kalender: `[cuaca makkah kalender juni 2026]`.
- Mode embed kalender: `?cmm_embed=1&kota=makkah&mode=calendar&bulan=6&tahun=2026`.
- Menu admin baru **Info & Panduan Plugin** dengan tab: Deskripsi, Instalasi, FAQ, Changelog.

### Changed
- Nama menu admin diubah dari "Cuaca MM" menjadi **Cuaca Makkah Madinah** (nama lengkap).
- Shortcode bulanan otomatis menyertakan deskripsi cuaca & gambaran jemaah di atas grid harian.
- Shortcode "hari ini" menampilkan info singkat musim saat ini di bawah kartu.

### Fixed
- Konsistensi enqueue CSS untuk semua mode tampilan baru.

## [1.0.1] - 2026-05-05
### Added
- Dukungan tema gelap pada embed (`&theme=dark`).
- Endpoint JSON API publik (`?cmm_api=1&kota=makkah&mode=today`).
- Parser shortcode natural untuk seluruh 12 nama bulan Indonesia.

### Changed
- CSS hanya di-enqueue ketika shortcode atau embed digunakan agar lebih ringan.
- Embed mengirim `Content-Security-Policy: frame-ancestors *` agar dapat ditanamkan di domain mana pun.

### Fixed
- Cron harian sekarang melakukan auto-purge data >30 hari.
- Penanganan record duplikat saat sinkronisasi (UPSERT berdasarkan `city + forecast_date`).

## [1.0.0] - 2026-05-01
### Added
- Rilis perdana.
- Tabel database `wp_cmm_weather` untuk menyimpan prakiraan cuaca Makkah & Madinah.
- Sumber data Open-Meteo (forecast 16 hari + climate model 1 tahun).
- Shortcode:
  - `[cuaca makkah hari ini]`
  - `[cuaca madinah hari ini]`
  - `[cuaca makkah juni 2026]` (dukung semua nama bulan).
  - Versi klasik `[cuaca_makkah]` dan `[cuaca_madinah]` dengan atribut.
- Embed iframe (`?cmm_embed=1`) untuk website pihak ketiga.
- Panel admin: status data + tombol refresh manual.
- WP-Cron harian untuk pembaruan otomatis.

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *


Scroll to Top