Using the site

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, /tasbih into 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.

PluginWhat it addsAddress
Zakat CalculatorA complete zakat calculator with gold and silver nisab, karat prices and vori, ana and rati. Chapter/zakat-calculator
Qibla FinderThe qibla direction and distance to Makkah, with a live compass on phones and a map. Chapter/qibla
Digital TasbihA dhikr counter with targets, vibration, sound and a daily history. Chapter/tasbih
Hijri CalendarHijri and Gregorian calendars side by side, a date converter and the Islamic days. Chapter/hijri-calendar
Asma-ul-HusnaThe 99 names of Allah with meaning, flash cards and listening. Chapter/asmaul-husna
Du‘a CollectionDaily du‘as with Arabic, pronunciation, meaning and source, in categories. Chapter/duas
RuqyahGuidance, the ruqyah ayahs and du‘as, and a ruqyah audio player with any reciter./ruqyah
Hadith CollectionBukhari, Muslim, the Sunan and more in Arabic, Bengali and English. Chapter/hadith
Fitra & Fidya CalculatorSadaqatul fitr for the whole family, and the fidya for missed fasts./fitra
Islamic Days & CountdownRamadan, the Eids, Ashura, Arafah and more, with the time left./islamic-days
Hajj & Umrah GuideUmrah and the five days of hajj step by step, with the du‘as, printable./hajj-umrah

The premium ones:

PremiumWhat it adds
Social Auto PostPosts 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 APIToken sign-in, bookmarks and reading, learning and donation history for an Android or iOS app. Chapter
Theme MadinahThe 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:

MethodWhat 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.

← Back to Quran CMS All chapters Updated 15 October 2026
Chat with Faruk
Faruk's Assistant Online — AI Powered