Plugins and themes
On this page
The Quran, prayer times, the learning centre, the blog and donations are part of Quran CMS itself. The Islamic tools and a few larger extras are plugins that you switch on and off. Themes are covered in Appearance; here is how premium plugins and themes are unlocked.
Admin → Plugins
The page has two tabs, Installed and Store.
On Installed, the filter buttons All, On, Off and Premium narrow the list. Every plugin is a card with its name, version, a free or premium badge and a short description.
- The switch in the corner turns a plugin on or off. Turning it on lets the plugin set itself up (its tables and first data). Turning it off stops it; its data stays, so turning it on again brings everything back.
- Settings opens the plugin's own settings. Most have a Page address, so you can change, for example,
/tasbihinto another word. - A plugin that has admin pages shows buttons for them while it is on, and gets one entry in the admin menu, in a Plugins group under Donations.
- The bin appears on a plugin that is off. It removes the plugin's files and its saved settings.
Install a plugin from a zip takes a zip holding one folder, named in small letters, with plugin.php directly inside it. Tick Replace it if already installed (update) to update a plugin; its settings are kept. A new plugin appears in the list, switched off.
Free and premium
Free plugins work with every licence. A premium plugin shows a lock until your licence includes it:
- Unlock opens its page in the License Center at license.faruk.bd, where you buy it.
- Add a key opens Admin → License, for a plugin key you already have.
After a purchase the key reaches your site by itself at the next licence check; Refresh on the Store tab asks at once. If the licence stops including a premium plugin, it is paused until it does again. Premium themes work the same way under Appearance → Themes.
The Store tab lists what the License Center offers for Quran CMS, with Buy, Details, and Download for something your licence includes that this site does not have yet.
The plugins that ship with Quran CMS
All the free ones are switched on by a new installation.
| Plugin | What it adds | Address |
|---|---|---|
| Zakat Calculator | A complete zakat calculator with gold and silver nisab, karat prices and vori, ana and rati. Chapter | /zakat-calculator |
| Qibla Finder | The qibla direction and distance to Makkah, with a live compass on phones and a map. Chapter | /qibla |
| Digital Tasbih | A dhikr counter with targets, vibration, sound and a daily history. Chapter | /tasbih |
| Hijri Calendar | Hijri and Gregorian calendars side by side, a date converter and the Islamic days. Chapter | /hijri-calendar |
| Asma-ul-Husna | The 99 names of Allah with meaning, flash cards and listening. Chapter | /asmaul-husna |
| Du‘a Collection | Daily du‘as with Arabic, pronunciation, meaning and source, in categories. Chapter | /duas |
| Ruqyah | Guidance, the ruqyah ayahs and du‘as, and a ruqyah audio player with any reciter. | /ruqyah |
| Hadith Collection | Bukhari, Muslim, the Sunan and more in Arabic, Bengali and English. Chapter | /hadith |
| Fitra & Fidya Calculator | Sadaqatul fitr for the whole family, and the fidya for missed fasts. | /fitra |
| Islamic Days & Countdown | Ramadan, the Eids, Ashura, Arafah and more, with the time left. | /islamic-days |
| Hajj & Umrah Guide | Umrah and the five days of hajj step by step, with the du‘as, printable. | /hajj-umrah |
The premium ones:
| Premium | What it adds |
|---|---|
| Social Auto Post | Posts an ayah with its picture, and the day's prayer times as a banner, to Facebook, Telegram, X and many more, on your schedule. Chapter |
| Mobile App API | Token sign-in, bookmarks and reading, learning and donation history for an Android or iOS app. Chapter |
| Theme Madinah | The premium theme. Chapter |
The Islamic tools page
/tools shows a card for every tool of the plugins that are on, in the visitor's language; switch a plugin off and its card goes too. The address can be changed under Settings → Permalinks, and the home page section Islamic tools grid shows the same cards.
Writing your own plugin
A plugin is a folder in plugins/ with a plugin.php in it. Nothing has to be registered anywhere else: put the folder there and it appears on Admin → Plugins, switched off.
plugin.php defines a class that extends AbstractPlugin and ends with return new MyPlugin();. Its getCode() answers the folder name and getName() the name to show. The rest is optional:
| Method | What it gives |
|---|---|
getDescription(), getVersion(), getIcon() | What the plugin list shows |
routes() | Public addresses: array('my-page' => 'show') calls show() for /my-page |
tools() | Cards for /tools |
adminMenu() | Admin pages, each drawn from pages/<page>.php (pages/index.php for the first) |
getConfigFields() | The Settings form: text, number, toggle, select, textarea, password and others |
install() | Runs when the plugin is switched on: create tables here |
boot() | Runs on every request while it is on: add hooks here |
Inside boot(), add_filter() and add_action() reach into the core. For example the home_section_types filter with a home_section_<type> action adds a home page section, the cron_jobs filter adds a scheduled job, and content_html changes the text of posts, pages and lessons. $this->page('view') draws views/view.php inside the site's layout, and a theme can replace that view with themes/<theme>/plugins/<code>/view.php. $this->get() and $this->set() read and keep the plugin's settings.
The Digital Tasbih plugin is short and a good one to read first.