A professional multi-type banner plugin for GetSimple CMS — display announcements, promotions, and alerts with full control over style, behavior, targeting, and scheduling.
- 5 Banner Types — Scrolling Marquee, Static Bar, Fading Messages, Message Slider, Sticky Notification
- Multi-Banner Management — Create unlimited banners, reorder, enable/disable from one screen
- Page Targeting — Show on all pages, homepage only, specific pages, or exclude pages
- Scheduling — Set a start date and end date per banner (auto show/hide)
- Visitor Dismiss — Close button with configurable hide duration (session, 1 day, 1 week, 1 month, forever)
- Live Preview — See changes in real time before saving
- Emoji Picker — Built-in emoji toolbar for announcements
- Security — CSRF nonce protection on all forms + full input validation
- Lightweight — Pure PHP + vanilla JS, no external dependencies
| Type | Description |
|---|---|
| 📜 Marquee | Classic scrolling text, pauses on hover |
| 📌 Static | Centered fixed bar, no animation |
| ✨ Fade | Multiple messages that fade in and out |
| 🎠 Slider | Messages that slide in with a smooth animation |
| 📍 Sticky | Fixed to the top of the screen on scroll |
- Download
global_motion_banner.php - Upload it to your GetSimple
/plugins/directory - Go to Settings → Plugins in the admin panel and activate it
- Click 🚀 Motion Banner in the settings sidebar
| Option | Behavior |
|---|---|
All Pages |
Banner appears on every page |
Homepage Only |
Only shows on the front page |
Specific Pages |
Enter page slugs (e.g. about, contact) |
All Except... |
Show everywhere except listed slugs |
Each banner has an optional Start Date and End Date.
Leave empty to show the banner indefinitely.
The plugin compares dates server-side on every page load — no cron jobs needed.
- All form submissions are protected with a CSRF nonce via PHP sessions
- Input values are validated and sanitized before saving:
- Hex colors validated with regex
- Numeric fields clamped to min/max ranges
- Enum fields checked against allowed values
- URLs validated with
FILTER_VALIDATE_URL - Text fields stripped of HTML tags
- Visitor dismiss state is stored in
localStorage/sessionStorage— no cookies, no server calls
- GetSimple CMS 3.3.x (including Community Edition)
- PHP 7.4+
- No additional dependencies
plugins/
└── global_motion_banner.php ← single-file plugin
data/other/
└── global_motion_banners.xml ← auto-created on first save
- Complete rewrite with multi-banner support
- Added 4 new banner types (static, fade, slider, sticky)
- Added page targeting and scheduling
- Added CSRF nonce protection
- Full input validation and sanitization
- Smart dismiss key (resets when banner content changes)
- Live admin preview
- Initial release — single scrolling marquee banner
- Basic settings (color, speed, direction, close button)
Bug reports and pull requests are welcome.
Please open an issue first to discuss what you would like to change.
MIT — free to use, modify, and distribute.
Made with ❤️ by Fahad4x4