Managing School Announcements and Events

Last Updated: 2026-05-27 | Applies to: IK v1.2+

Announcements System

Purpose: Broadcast messages to specific audiences (everyone, teachers only, parents only, students only)

Where to access:

  • Dashboard → "Post Announcement" button
  • Or directly from the Announcements widget on the main dashboard

Creating an Announcement

  1. Click "📢 Post Announcement" on the dashboard
  2. Fill in the modal form:
┌─────────────────────────────────────────┐│         Post New Announcement           │├─────────────────────────────────────────┤│ Title: [End of Year Exams Schedule]     ││                                         ││ Content:                                ││ [Final exams will begin on June 15th.   ││  All students must clear library dues   ││  before receiving admit cards.]         ││                                         ││ Target: [Everyone ▾]                    ││   Options: Everyone / Teachers Only /   ││            Parents Only / Students Only ││                                         ││ Expires: [2026-06-20] (Optional)        ││                                         ││ [Post Announcement] [Cancel]            │└─────────────────────────────────────────┘
  1. Click "Post Announcement"
  2. Success message appears, announcement visible immediately

Announcement Database Structure

Stored in wp_institutionkit_announcements:

ColumnDescriptionExample
announcement_idAuto-increment ID42
titleAnnouncement headline"Exam Schedule"
contentFull message body"Final exams..."
target_audienceWho sees itall, teachers, parents, students
class_idOptional class filter5 (Grade 5 only)
created_byAdmin who posted1
is_activeVisibility toggle1
expires_atAuto-hide date2026-06-20
campus_idCampus scope3

Viewing Logic (Who Sees What)

php

// Announcement visibility rules:- is_active = 1 (must be active)- expires_at IS NULL OR expires_at >= today (not expired)- target_audience = 'all' OR matches user's role- campus_id matches current campus context- LIMIT 10 (most recent 10)

Example:

  • Teacher views dashboard → Sees "Teachers Only" + "Everyone" announcements
  • Parent views portal → Sees "Parents Only" + "Everyone" announcements

Deleting Announcements

Admins see a 🗑️ trash icon on each announcement in the widget. Click to delete:

  1. Confirmation dialog appears
  2. AJAX call removes from database
  3. Page refreshes automatically

Events System

Purpose: Schedule and display upcoming school events, holidays, exam dates, fee deadlines

Where to access:

  • Dashboard → "Add Event" button
  • Events widget on main dashboard

Creating an Event

  1. Click "📅 Add Event" on the dashboard
  2. Fill in the modal:
┌─────────────────────────────────────────┐│            Add New Event                │├─────────────────────────────────────────┤│ Title: [Parent-Teacher Conference]      ││                                         ││ Description:                            ││ [Quarterly PTA meeting. Parents can     ││  discuss student progress with teachers.]││                                         ││ Event Type: [Meeting ▾]                ││  Options: Exam / Holiday / Meeting /    ││           School Event / Fee Due Date   ││                                         ││ Start: [2026-06-01 09:00 AM]           ││ End:   [2026-06-01 12:00 PM] (Optional)││ Location: [School Auditorium]           ││                                         ││ [Add Event] [Cancel]                    │└─────────────────────────────────────────┘
  1. Click "Add Event"

Event Type Badges

Events display with color-coded type badges:

TypeBadge ColorIcon
ExamRed📝
HolidayGreen🏖️
MeetingBlue👥
School EventPurple🎉
Fee Due DateOrange💰

Event Display Format

In the widget:

📅 Upcoming Events┌─────────────────────────────────────────┐│ Parent-Teacher Conference    [Meeting]  ││ Quarterly PTA meeting                   ││ 📍 School Auditorium                    ││ 🕒 Jun 1, 2026 9:00 AM - 12:00 PM     ││                                    🗑️   │├─────────────────────────────────────────┤│ Mid-Term Exams                 [Exam]   ││ Grade 6-10 examination period           ││ 📍 Main Hall                            ││ 🕒 Jun 15, 2026 8:00 AM                ││                                    🗑️   │└─────────────────────────────────────────┘

Database Structure

Stored in wp_institutionkit_events:

ColumnDescription
event_idAuto-increment
titleEvent name
descriptionDetails
event_typeexam, holiday, meeting, event, fee_due
start_dateStart datetime
end_dateEnd datetime (nullable)
locationVenue
created_byAdmin ID
campus_idCampus filter

Best Practices

Announcements:

  • Set expiry dates for time-sensitive announcements
  • Use "Teachers Only" for staff meeting notices
  • Use "Parents Only" for fee-related communications
  • Keep content concise (2-3 paragraphs max)

Events:

  • Always set location for in-person events
  • Use "Fee Due Date" type for payment deadlines
  • Add end dates for multi-day events
  • Delete past events to keep the widget clean

Troubleshooting

Problem: Announcement not showing for teachersSolution: Check target_audience field - must be "all" or "teachers"

Problem: Event disappeared from widgetSolution: Events only show if start_date >= now. Past events are hidden automatically.

Problem: Can't delete announcementSolution: Only admins can delete. Teachers/accountants see announcements but can't remove them.

Comments are closed.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
💬 Ask Me Anything!