MasjidFeed App is the WordPress-side component of the masjid mobile app: it turns
this site into the app's content management system. Admins manage the app's
branding, contact info, donation link, and feature flags, and choose which
post categories/tags feed the app's Events and Announcements screens. An
optional category can replace the regular announcement filters on Fridays in
the WordPress site timezone. These settings are available from the
Settings → MasjidFeed App page, while the app fetches everything over a REST API
under the
masjid/v1 namespace:
/wp-json/masjid/v1/config — app configuration (branding, contact, feature flags)
/wp-json/masjid/v1/salahapi — SalahAPI prayer time configuration (proxied from Muslim Prayer Times)
/wp-json/masjid/v1/events — up to 100 upcoming post objects with event fields (limit parameter, default 20)
/wp-json/masjid/v1/announcements — up to 20 announcement post objects
/wp-json/masjid/v1/posts/{id} — one published post with optional event fields
/wp-json/masjid/v1/parking-config — parking map zones and restriction schedules (404 until saved on the Parking tab)
/wp-json/masjid/v1/push/registrations — App Check-protected FCM topic registration
Configuration, list, and post responses include ETag and Cache-Control
headers and cache their rendered payloads using the WordPress Transients API.
Admins can also enable content-only rendering for mobile app web views. When
enabled, adding
?render=contentOnly to a published post or page URL removes
the visual site header and footer while retaining theme styles and scripts.
Block themes keep their selected template; classic themes use a minimal plugin
template containing the featured image and content. The
/config
response automatically adds this parameter to non-empty donation and Ramadan
URLs.
It requires the "Muslim Prayer Times" plugin to be installed and active,
since it builds on its prayer-time data rather than duplicating it. Events
are provided by an events plugin selected in settings: "Awesome Calendar
Events" or "The Events Calendar". When no events plugin is selected, the
Events feature is disabled.