Rakanlabs Waktu Solat MY
Waktu Solat Wordpress Plugin
by Aqil · github.com/aqilmengdevelope/waktu-solat-wordpress-plugin · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/aqilmengdevelope/waktu-solat-wordpress-plugin/archive/refs/heads/main.zipReadme
=== Rakanlabs Waktu Solat MY === Contributors: aqilmengdevelop Tags: waktu solat, prayer times, jakim, esolat, malaysia Requires at least: 6.0 Tested up to: 7.0 Requires PHP: 7.4 Stable tag: 1.3.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html
Malaysian prayer times (waktu solat) from the official JAKIM e-Solat API — Gutenberg block, Elementor widget, shortcode, themes and live countdown.
== Description ==
Rakanlabs Waktu Solat MY displays accurate daily prayer times for all Malaysian JAKIM zones in a beautiful, responsive card:
- Official data — fetched directly from JAKIM's e-Solat API, cached once per day so your site never hammers the government server.
- All 60+ zones — every state, grouped and searchable.
- Three ways to add it — a Gutenberg block, a native Elementor widget (drag & drop, with live styling controls), or the
[waktu_solat]shortcode. - Three built-in themes — Emerald (dark green & gold), Light (white & green), Midnight (deep navy). Site-wide defaults are set under the Waktu Solat admin menu; every block/widget/shortcode can override them.
- Live countdown — highlights the current prayer and counts down to the next one, updating every second.
- Two layouts — a full card for content areas and a compact card for sidebars and footers.
- Translation-ready — all strings use the
rakanlabs-waktu-solat-mytext domain.
= Shortcode examples =
[waktu_solat]— site defaults.[waktu_solat zone="WLY01" theme="light"]— Kuala Lumpur, light theme.[waktu_solat zone="SGR01" layout="compact" countdown="no" imsak="no"]— compact sidebar version.
== External services ==
This plugin retrieves prayer times from the JAKIM e-Solat API (https://www.e-solat.gov.my), the official service of the Department of Islamic Development Malaysia (JAKIM).
- What is sent: only the selected zone code (e.g.
SGR01) and the requested period (today). No personal data, visitor data or site data is ever transmitted. - When: at most once per zone per day (responses are cached in a transient until just after midnight).
- Provider: Jabatan Kemajuan Islam Malaysia — https://www.e-solat.gov.my
== Installation ==
- Upload the plugin ZIP via Plugins → Add New → Upload Plugin, or unzip it into
/wp-content/plugins/. - Activate it.
- Set your default zone, theme and layout under the Waktu Solat admin menu.
- Add the "Waktu Solat" block in the editor, drag the "Waktu Solat" widget in Elementor, or place the
[waktu_solat]shortcode anywhere.
== Frequently Asked Questions ==
= Where does the data come from? =
From JAKIM's official e-Solat API — the same source used by government portals such as the Selangor Mufti Department website. See "External services" above.
= Does it slow my site down? =
No. Times are fetched server-side at most once per zone per day and cached with the Transients API. CSS/JS load only on pages that actually display the card.
= Which zones are supported? =
All JAKIM zones for every Malaysian state and federal territory (Johor to Labuan).
= Does it work without Elementor? =
Yes. Elementor is optional — the Gutenberg block and shortcode work with any theme. The Elementor widget simply appears automatically when Elementor is active.
= Can I change the colors? =
Pick one of the three themes, or (in Elementor) override the accent color, corner radius and width per widget. Developers can also override the --wsmy-* CSS custom properties.
== Screenshots ==
- Emerald theme — full card with live countdown.
- Light theme.
- Midnight theme — compact layout for sidebars.
- Settings page with zone, theme and layout defaults.
- Elementor widget with live style controls.
- Gutenberg block in the editor.
== Changelog ==
= 1.3.0 =
- Renamed to Rakanlabs Waktu Solat MY (slug
rakanlabs-waktu-solat-my, prefixwsmy_) for the WordPress.org directory.
= 1.2.1 =
- Fix: JAKIM returns status "OK!" — the response validation was rejecting valid data ("Unexpected data format" error).
- Change: settings now live in their own top-level "Waktu Solat" admin menu (was under Settings).
= 1.2.0 =
- New: Gutenberg block (server-rendered, with zone/theme/layout controls).
- New: full internationalization + POT file.
- New: uninstall cleanup (options + cached transients, multisite aware).
- New: "Settings" link on the Plugins screen.
- Improved: stricter validation of zone/theme/layout options.
= 1.1.0 =
- New: settings page (default zone, theme, layout).
- New: Elementor widget with live controls.
- New: Light and Midnight themes; compact layout.
= 1.0.0 =
- Initial release: shortcode, Emerald card, JAKIM API with daily caching, countdown.
== Upgrade Notice ==
= 1.2.0 = Adds the Gutenberg block and translation support. No breaking changes.