Title: Desk9 Notice Planner – Announcement Bar &amp; Scheduler
Author: Desk9 Design
Published: <strong>September 2, 2026</strong>
Last modified: September 2, 2026

---

Search plugins

![](https://ps.w.org/desk9-notice-planner/assets/banner-772x250.png?rev=3677449)

![](https://ps.w.org/desk9-notice-planner/assets/icon-256x256.png?rev=3677449)

# Desk9 Notice Planner – Announcement Bar & Scheduler

 By [Desk9 Design](https://profiles.wordpress.org/desk9/)

[Download](https://downloads.wordpress.org/plugin/desk9-notice-planner.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/desk9-notice-planner/#description)
 * [Reviews](https://wordpress.org/plugins/desk9-notice-planner/#reviews)
 *  [Installation](https://wordpress.org/plugins/desk9-notice-planner/#installation)
 * [Development](https://wordpress.org/plugins/desk9-notice-planner/#developers)

 [Support](https://wordpress.org/support/plugin/desk9-notice-planner/)

## Description

Desk9 Notice Planner is a lightweight plugin for informative site notices: vacation
and holiday closures, changed opening hours, maintenance windows, delivery delays
and short announcements. Create a notice once, schedule it precisely and let it 
appear and disappear automatically – evaluated in your site’s timezone on every 
page view.

It is deliberately **not** an aggressive marketing popup tool. The focus is on serious,
accessible communication with your visitors.

#### Two display layouts

 * **Announcement Bar** – a slim bar at the top or bottom of your site. Static, 
   sticky or fixed, optionally pushing your content down instead of covering it.
   Choose whether it runs edge to edge with square corners, or floats as an inset
   message with a gap on all sides and rounded corners – the two never mix. Sets
   with hard edges can be softened per notice: keep their shadows and accent lines,
   swap everything for one thin outline, or go completely flat.
 * **Fullscreen Notice** – an accessible dialog for critical information, with focus
   management, scroll lock and keyboard support.

#### Scheduling that understands your year

 * Always active, exact date ranges (start/end with time), or **yearly recurring
   periods**.
 * Yearly periods may cross the year boundary – “December 24 until January 2” simply
   works, every year, including leap years.
 * All times use the timezone from Settings  General. Visibility is computed on 
   each page view, not via cron, so notices appear exactly on time.
 * A **year calendar** in the admin area shows all planned notices at a glance, 
   including conflicts.

#### Fast to use

 * **27 ready-made templates** – summer vacation, public holiday, maintenance window,
   shipping delay, new address, privacy policy update, product safety notice and
   more. Pick a situation and the notice is prefilled.
 * **Quick Notice**: publish a simple notice in seconds; refine it later in the 
   full editor.
 * **The editor shows what you build.** Controls sit on the left, the rendered notice
   stays visible on the right while you change anything – with desktop, tablet and
   mobile widths and a light or dark sample page.
 * **Ten style sets × five tones.** Pick a look – from a bold solid bar to a soft
   tinted hairline, an elevated card, a dark surface or a neutral surface with a
   coloured accent rail – then pick how urgent it is: neutral, info, warning, important
   or success. Spacing, corners, borders and type come with the set.
 * Every one of the 50 combinations was checked against WCAG 2.2 AA contrast. Individual
   colours and spacing can still be overridden per notice.
 * Your theme’s font is used – no webfonts are loaded.

#### Thoughtful behavior

 * Visitors can dismiss a notice for the session, until the notice ends, or for 
   a custom number of days – stored only in their browser, without cookies.
 * When you edit a notice, previously dismissed notices reappear automatically (
   content versioning).
 * **Show it again on demand.** A “Show again” action in the notice list and in 
   the editor voids every stored dismissal, so people who closed the notice see 
   it once more. To check it yourself without affecting anyone, append `?d9notice_show
   =1` to any URL while logged in.
 * Priorities (0–100) and a global mode decide what happens when several notices
   overlap: show only the highest one or stack up to three bars. Conflicts are flagged
   in the list, the editor and the calendar.
 * Display rules: entire site, homepage only, selected content, or everything except
   selected content – plus context limits (front page, blog page, singular, archives,
   search, 404) and device visibility.

#### Multilingual

 * WPML and Polylang compatible (wpml-config.xml included). Untranslated notices
   are hidden or fall back to the default language – your choice.

#### Built properly

 * No external requests, no telemetry, no tracking, no cookies, no bundled frameworks,
   no jQuery on the frontend.
 * Frontend CSS/JS load only when a notice is actually displayed.
 * WCAG 2.2 AA oriented markup: named regions, real dialog semantics, focus trap,
   visible focus, reduced-motion support.
 * Custom capabilities plus a ready-made **Notice Manager** role, nonce-protected
   actions, strict input validation, escaped output.

### Privacy

Desk9 Notice Planner does not collect, store or transmit any personal data. It makes
no external requests, loads no external resources and sets no cookies. The optional
dismiss feature stores the dismissal state exclusively in the visitor’s own browser(
sessionStorage/localStorage, keys prefixed with `d9notice:notice:`); these entries
expire automatically and can be removed by clearing the browser storage.

## Screenshots

[⌊Notice editor: tabbed controls on the left, the live preview stays visible on 
the right.⌉⌊Notice editor: tabbed controls on the left, the live preview stays visible
on the right.⌉[

Notice editor: tabbed controls on the left, the live preview stays visible on the
right.

[⌊Style sets and tones in the design tab.⌉⌊Style sets and tones in the design tab
.⌉[

Style sets and tones in the design tab.

[⌊Year calendar with notice markers and conflict highlighting.⌉⌊Year calendar with
notice markers and conflict highlighting.⌉[

Year calendar with notice markers and conflict highlighting.

## Installation

 1. Upload the plugin files to `/wp-content/plugins/desk9-notice-planner/`, or install
    the plugin through the WordPress plugins screen directly.
 2. Activate the plugin through the “Plugins” screen in WordPress.
 3. Go to **Notices  Add New** (or **Notices  Quick Notice**) to create your first 
    notice.
 4. Enable the notice, choose a schedule and publish it.

## FAQ

### Why is my published notice not visible?

A notice is displayed only when all of these are true: it is published, “Enable 
this notice” is checked, its schedule is currently active, its display rules match
the current page, and (on multilingual sites) it matches the visitor’s language.
The computed status is shown in the notice list and in the Schedule box.

### When exactly does a notice end?

The end is exclusive: a notice with end “January 2, 23:59” disappears at exactly
23:59. All times use the timezone configured under Settings  General.

### Can I use my own colours?

Yes. Every notice starts from a style set and a tone, which together define all 
fourteen colour slots. In the Design tab you can switch on “Override individual 
colours” and set any of them with the WordPress colour picker; fields you leave 
empty keep the colour of the set. Spacing, radius and typography can be fine-tuned
the same way. There is no free-text CSS field – all values are validated and rendered
as CSS custom properties.

### I dismissed a notice myself and cannot get it back. What now?

Two ways, depending on what you want:

 * **Only for you, to check something:** append `?d9notice_show=1` to any URL of
   your site. While you are logged in and allowed to edit notices, dismissals are
   ignored for that single page view. Nobody else is affected.
 * **For everyone who closed it:** use the “Show again” row action in the notice
   list, or the “Show again for everyone” button in the notice editor under Dismissal.
   This raises the notice’s content version, which is part of the browser storage
   key, so every stored dismissal stops matching and the notice reappears.

Nothing is read from or written to a visitor’s device in either case – their old
entry simply becomes irrelevant and expires on its own terms.

### Does the plugin set cookies?

No. The optional dismiss feature stores a small entry in the visitor’s browser storage(`
sessionStorage` or `localStorage`) under keys like `d9notice:notice:123:v4`. Nothing
is transmitted anywhere, and the entry expires with the notice or the chosen duration.
If browser storage is blocked, the notice simply stays visible.

### Can somebody manage notices without being an administrator?

Yes. On activation the plugin creates a dedicated **Notice Manager** role. Assign
it to a user and their admin area contains nothing but Dashboard, Media, Profile
and Notices – they can write, schedule and publish notices and reach the plugin 
settings, but they cannot touch posts, pages, plugins, themes or other users.

The role holds every plugin capability plus `read` (needed to enter wp-admin at 
all) and `upload_files` (needed for the image field). If the role already exists,
the plugin leaves it alone, so any adjustments you make with a role editor survive
a reactivation.

You can also grant the capabilities to an existing role instead: `edit_d9notices`,`
edit_others_d9notices`, `publish_d9notices`, `delete_d9notices` and `manage_d9notice_settings`
for the settings screen.

The role is only deleted again if you enable “Remove the plugin capabilities …” 
under Notices  Settings  Advanced before uninstalling. Users keep their accounts
either way.

### Is the plugin compatible with WPML and Polylang?

Yes. The notice post type is registered as translatable, a `wpml-config.xml` defines
which fields are translated and which are copied, and a setting controls whether
untranslated notices are hidden or fall back to the default language. The plugin
also works without any multilingual plugin.

### Does it work with block themes?

Yes, classic and block themes are supported. For themes that do not call `wp_body_open`,
a fallback output path is used.

### What happens on uninstall?

Nothing is deleted unless you enabled “Delete all plugin data on uninstall” (and
optionally “Remove plugin capabilities on uninstall”) under Notices  Settings  Advanced.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Desk9 Notice Planner – Announcement Bar & Scheduler” is open source software. The
following people have contributed to this plugin.

Contributors

 *   [ Desk9 Design ](https://profiles.wordpress.org/desk9/)

[Translate “Desk9 Notice Planner – Announcement Bar & Scheduler” into your language.](https://translate.wordpress.org/projects/wp-plugins/desk9-notice-planner)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/desk9-notice-planner/),
check out the [SVN repository](https://plugins.svn.wordpress.org/desk9-notice-planner/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/desk9-notice-planner/)
by [RSS](https://plugins.trac.wordpress.org/log/desk9-notice-planner/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release: announcement bars and fullscreen notices, a dedicated Notice
   Manager role, date-range and yearly recurring scheduling in the site timezone,
   year calendar, Quick Notice with 27 templates, ten style sets with five semantic
   tones, a two-column editor with a permanently visible live preview, dismissal
   with content versioning, priorities and conflict detection, display rules, WPML/
   Polylang compatibility, accessibility-first frontend.

## Meta

 *  Version **1.0.0**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.9 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [announcement bar](https://wordpress.org/plugins/tags/announcement-bar/)[notification bar](https://wordpress.org/plugins/tags/notification-bar/)
   [vacation notice](https://wordpress.org/plugins/tags/vacation-notice/)
 *  [Advanced View](https://wordpress.org/plugins/desk9-notice-planner/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/desk9-notice-planner/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/desk9-notice-planner/reviews/)

## Contributors

 *   [ Desk9 Design ](https://profiles.wordpress.org/desk9/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/desk9-notice-planner/)