← Back to landing page

Documentation

Complete reference for WAQTUNA Prayer Times v1.3.3 — shortcodes, display modes, admin settings, and data sources.

Requirements

ComponentMinimumTested
WordPress5.65.6, 7.1
PHP7.27.2, 8.5
MySQL / MariaDB5.6 / 10.0MariaDB 10.9

Outgoing HTTPS to api.vaktija.eu is required when using the API data source. Hijri dates for 1990–2040 use an embedded Umm al-Qura table; dates outside that range fall back to PHP intl when available.

Quick start

  1. Install and activate the plugin under Plugins.
  2. Open WAQTUNA → Location, select country and city, choose API or CSV source, and save.
  3. Check the timezone panel on the Location tab. If you see a warning, set Settings → General → Timezone to match your city.
  4. Add a shortcode to any page or post, for example [waqtuna_prayer_times].
  5. Optionally customize layout, colors, and backgrounds under WAQTUNA → Display.

Display modes

WAQTUNA provides six frontend display modes. All share the same location, custom times, and admin settings unless a shortcode attribute overrides behavior.

ModeShortcodeUse case
Daily widget [waqtuna_prayer_times] Full prayer grid with date navigation, Hijri date, current/next prayer highlighting
Next prayer [waqtuna_next_prayer] Compact countdown to the next prayer — ideal for headers and sidebars
Masjid TV [waqtuna_prayer_times style="masjid"] Full-screen kiosk display for lobby TVs with logo, heading, and scrolling footer
Gregorian month [waqtuna_prayer_times style="gregorian-month"] Print-ready A4 month timetable with logo, print, and PNG export
Hijri month [waqtuna_prayer_times style="hijri-month"] Same as Gregorian month but aligned to the Hijri calendar

Layout (grid, list, compact), theme (light/dark/auto), colors, and backgrounds for the daily widget are configured in admin — not via shortcode attributes.

[waqtuna_prayer_times]

Renders the daily prayer widget, masjid full-screen display, or monthly timetable depending on the style attribute.

Attributes

AttributeDefaultValuesApplies to
style default default, masjid, gregorian-month, hijri-month All
date Today Gregorian date Y-m-d Daily widget only
month Current month 1–12 Month timetables
year Current year Gregorian year or Hijri year Month timetables
orientation Admin default horizontal, vertical Masjid only
rotation Admin default none, 90-right, 90-left, 180 Masjid only

Daily widget

Shows all six prayers with Gregorian and Hijri dates, previous/next day navigation, and live highlighting of the current and next prayer.

[waqtuna_prayer_times] Today's prayer times
[waqtuna_prayer_times date="2026-09-17"] Prayer times for a specific date

Masjid display

Place on a dedicated page for TV or kiosk screens. Configure logo, welcome heading, footer messages, and background under WAQTUNA → Display → Masjid display.

Orientation vs rotation: orientation controls how prayers are laid out. rotation rotates the entire viewport for portrait-mounted TVs. You can combine both — for example vertical layout with 90° rotation.
[waqtuna_prayer_times style="masjid"] Default masjid display
[waqtuna_prayer_times style="masjid" orientation="vertical"] Vertical prayer layout
[waqtuna_prayer_times style="masjid" orientation="horizontal"] Horizontal prayer layout
[waqtuna_prayer_times style="masjid" rotation="90-right"] 90° clockwise — portrait TV
[waqtuna_prayer_times style="masjid" rotation="90-left"] 90° counter-clockwise — portrait TV
[waqtuna_prayer_times style="masjid" rotation="180"] Upside-down mount
[waqtuna_prayer_times style="masjid" orientation="vertical" rotation="90-right"] Portrait TV with vertical layout

Month timetables

Print-ready monthly calendars with mosque logo, heading, Friday highlighting, and Ramadan columns (Suhur, Iftar, Tarawih) when applicable. Configure under WAQTUNA → Display → Month timetable.

[waqtuna_prayer_times style="gregorian-month"] Current Gregorian month
[waqtuna_prayer_times style="hijri-month"] Current Hijri month
[waqtuna_prayer_times style="gregorian-month" month="4" year="2026"] April 2026
[waqtuna_prayer_times style="hijri-month" month="9" year="1447"] Ramadan 1447 (example)

[waqtuna_next_prayer]

Shows only the next upcoming prayer with a live countdown. Useful in headers, hero sections, and sidebars.

Attributes

AttributeDefaultValues
style default default — stacked label, name, and time
compact — single-line strip
[waqtuna_next_prayer] Standard next-prayer widget
[waqtuna_next_prayer style="compact"] Compact single-line display

All shortcode examples

Quick copy list of every supported shortcode variant.

[waqtuna_prayer_times] [waqtuna_prayer_times date="2026-09-17"] [waqtuna_next_prayer] [waqtuna_next_prayer style="compact"] [waqtuna_prayer_times style="masjid"] [waqtuna_prayer_times style="masjid" orientation="vertical"] [waqtuna_prayer_times style="masjid" orientation="horizontal"] [waqtuna_prayer_times style="masjid" rotation="90-right"] [waqtuna_prayer_times style="masjid" rotation="90-left"] [waqtuna_prayer_times style="masjid" rotation="180"] [waqtuna_prayer_times style="masjid" orientation="vertical" rotation="90-right"] [waqtuna_prayer_times style="gregorian-month"] [waqtuna_prayer_times style="hijri-month"] [waqtuna_prayer_times style="gregorian-month" month="4" year="2026"] [waqtuna_prayer_times style="hijri-month" month="9" year="1447"]

Location settings

WAQTUNA → Location

  • Source — vaktija.eu API or Imported CSV data. If one source has no data for a date, the other is tried automatically.
  • Country / Location — Pick the API location. The location name is shown on widgets.
  • WordPress timezone check — Compares your site timezone with the selected city. Shows green when they match, red with a fix link when they don't.
  • Today at this location — Preview of loaded times for the selected city.
  • API cache — Refresh location list, clear cached prayer times, or import a full year into the database.
Prayer times from vaktija.eu are local wall-clock times for the selected city. WordPress must use the same timezone under Settings → General for correct highlighting and countdowns.

Display settings

WAQTUNA → Display

Layout

  • Theme mode — Auto (system), Light, or Dark
  • Layout style — Grid, List, Compact Grid, or Compact List
  • Responsive layouts — Set a different layout for mobile, tablet, and desktop
  • Colors — Highlight colors for current and next prayer in light and dark themes
  • Background — Solid color, preset pattern, or custom uploaded image with opacity control
  • Frontend credit — Optional “powered by vaktija.eu” link (off by default)

Masjid display settings

WAQTUNA → Display → Masjid display

  • Mosque logo and welcome heading text
  • Scrolling footer announcement messages
  • Default orientation (horizontal or vertical) and screen rotation
  • Custom background image with fit and opacity
  • Optional watermark

Per-page overrides: use orientation and rotation attributes in the masjid shortcode.

Month timetable settings

WAQTUNA → Display → Month timetable

  • Mosque logo and heading text
  • Background and border styling
  • Print and “Save as PNG” export (uses bundled html-to-image in the browser)
  • Automatic Friday row highlighting and Ramadan columns when applicable

Custom times

WAQTUNA → Custom Times — Override calculated times for congregation-specific schedules.

  • Fajr Jamah — Show jamah time; optional fixed time (default: 30 minutes before sunrise)
  • Jumuah — Separate summer and winter fixed times based on daylight saving, plus optional fallback
  • Isha / Tarawih — Use API time, a fixed time, or minutes after Maghrib (e.g. 90 min)

During Ramadan, the daily widget and month views show Suhur, Iftar, and Tarawih labels automatically.

Translations

WAQTUNA → Translations — Set a primary and optional secondary language for custom label overrides (e.g. Bosnian and German on a bilingual site).

  • Primary / secondary tabs — Edit overrides for each language separately; one save stores both.
  • Per-locale storage — Custom labels apply only when the page is shown in the primary or secondary language.
  • Other languages — Fall back to WordPress language packs (translate.wordpress.org) or plugin defaults.
  • Fields — Prayer names, navigation labels, Hijri months, and weekday names.
  • Ramadan — During Ramadan the Maghrib column shows Iftar (or your custom Iftar label).

Data import

WAQTUNA → Data Import — Import prayer times from CSV or purge all imported data.

See CSV format below. After import, choose CSV as the primary source or let it act as a fallback when the API is unavailable.

WAQTUNA → Logs — View plugin log entries for troubleshooting imports and API issues.

How prayer times are resolved

  1. The configured source (API or CSV) is queried for the requested date.
  2. If that source returns nothing, the other source is tried as fallback.
  3. Custom times (jamah, Jumuah, Isha/Tarawih) are applied on top for display.
  4. Current prayer highlighting uses WordPress local time. The site timezone must match the selected city.
  5. API responses are cached (locations ~1 week, yearly times ~1 month).

CSV format

Semicolon-separated values with a header row:

gregorian_date;hijri_date;fajr;sunrise;dhuhr;asr;maghrib;isha 2026-01-01;1447-07-01;05:30;07:00;12:00;14:30;17:00;19:00

Languages

The plugin is translation-ready. Supported locales include English (default), Bosnian, German, Dutch, French, Spanish, Italian, Swedish, Norwegian, and Turkish.

  • WordPress.org installs — Language packs from translate.wordpress.org when available.
  • GitHub releases — The -full release zip includes bundled .mo files for direct installs.
  • Custom overrides — Use WAQTUNA → Translations for primary and secondary language label overrides on bilingual sites.

External services

This plugin connects to the vaktija.eu API at https://api.vaktija.eu/v3 to obtain location lists and daily prayer times when the API source is enabled.

  • Data sent: selected location ID and requested Gregorian date. No WordPress user accounts or site credentials are transmitted.
  • When requests occur: when an admin selects or refreshes a location, when a widget first renders, and when visitors change the date.
  • Provider: vaktija.eu — third-party prayer times API, not affiliated with this plugin.

FAQ

Does this plugin require an API key?

No. The vaktija.eu API is used without an API key.

Can I use my own prayer times?

Yes. Import a CSV under WAQTUNA → Data Import, then choose imported CSV as the source on the Location tab. CSV and API can also act as fallbacks for each other.

Does the plugin work without the intl PHP extension?

Yes. Hijri dates for 1990–2040 are calculated from an embedded lookup table.

Why is the wrong prayer highlighted?

Prayer times are local times for the selected city. Set Settings → General → Timezone to match your mosque location. Check WAQTUNA → Location for the timezone warning.

Which timezone should I use?

Choose the timezone for your mosque (e.g. Europe/Berlin for Bonn, Europe/Sarajevo for Sarajevo). Do not leave WordPress on UTC unless your location is actually in UTC.

Can I use different custom labels on a bilingual site?

Yes. On WAQTUNA → Translations, set a primary language (e.g. Bosnian) and optional secondary language (e.g. German). Use the tabs to enter overrides for each. Other languages use WordPress language packs or plugin defaults.