Din – Muslim Prayer Timetable

Description

Din is a lightweight, modern WordPress plugin designed to display daily and monthly Islamic prayer times. It allows mosques and Islamic centers to easily share accurate prayer timetables on their websites through simple shortcodes.

Features

  • Daily prayer times in vertical or horizontal layout
  • Next prayer with live countdown timer
  • Monthly prayer timetables
  • Simple Hijri (Islamic) date with manual month/day override
  • Customizable colors, font size, and styling
  • CSV import for easy bulk upload
  • Responsive design with modern CSS
  • Automatic next prayer highlighting
  • Cache-busted asset loading
  • PDF download of prayer timetable (via uploaded PDF)
  • Fully translation-ready (i18n)

How It Works

  1. Import your prayer times via CSV (sample provided)
  2. Display using shortcodes: [dinmpt_daily_timetable], [dinmpt_next_prayer], [dinmpt_monthly_timetable], [dinmpt_hijri_date]
  3. Customize appearance via the Design settings tab
  4. Configure Hijri date settings using the base date and monthly day overrides

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/gpl-2.0.html.

Developer Notes

Developed by Wan Saifudin (https://wansazlinasaruddin.com). This plugin is free for use on any WordPress site. No warranties are provided.

Installation

  1. Upload the din-muslim-prayer-timetable folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to Settings > Prayer Times to import your CSV file
  4. Use the shortcodes to display prayer times on any page or post

FAQ

What shortcodes are available?

  • [dinmpt_daily_timetable] – Display daily prayer times table
  • [dinmpt_next_prayer] – Display next prayer with countdown timer
  • [dinmpt_monthly_timetable] – Display monthly prayer times
  • [dinmpt_hijri_date] – Display today’s Hijri date
  • [dinmpt_gregorian_date] – Display today’s Gregorian date

How do I import prayer times?

Download the sample CSV file from the plugin’s Import tab, fill in your prayer times, and upload it through the same tab.

How does the Hijri date work?

The plugin uses a simple anchor-based calculation. Set the base Gregorian date and corresponding Hijri date, then manually override each month’s length (29 or 30 days). The system automatically updates as days pass.

Can I customize the appearance?

Yes, you can customize colors, font sizes, and other styling options through the Design settings tab.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Din – Muslim Prayer Timetable” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.2.2

  • Fixed PHP 7.4 parse error: removed PHP 8.0 union type string|false return declarations from parseDate() methods in class-dinmpt-csv-processor.php and class-dinmpt-renderer.php

1.2.1

  • Fixed mixed line endings across all PHP, JS, and CSS files to resolve Plugin Check Internal.LineEndings.Mixed warnings
  • Prefixed all local variables in View template files (hijri-tab.php, design-tab.php) to comply with WordPress.NamingConventions.PrefixAllGlobals

1.2.0

  • Renamed all prefixes from dpt_/DPT_ (3-char) to dinmpt_/DINMPT_ (6-char) to comply with WordPress.org plugin guidelines (minimum 4-character prefix)
  • Renamed all include files from class-dpt-.php to class-dinmpt-.php
  • Renamed all CSS classes and variables from dptt-* to dinmpt-*
  • Renamed all asset handles from dptt-* to dinmpt-*
  • Renamed JS variables from DPTT/dptt_vars to DINMPT/dinmpt_vars
  • Fixed sanitizeHijriSettings() to validate base Gregorian date using DateTime::createFromFormat (prevents DateTime exceptions on invalid calendar dates)
  • Note: Due to prefix change, existing settings will need to be reconfigured

See changelog.txt for older version history.