Directory / plugin
Scheduled Content Dashboard
v3.1.3 · by Jean Galea
Editorial calendar with drag-and-drop, a grouped content overview, and a dashboard widget. Auto-fixes missed schedules. No bloat.
About this plugin
Scheduled Content Dashboard gives you a clear view of everything queued up for publication. It adds a dashboard widget that groups scheduled content by when it’s due and an editorial calendar where you drag posts to different days. It also flags posts WordPress failed to publish on time and republishes them for you.
A Content Overview screen groups everything in the pipeline by status, post type, author, or category, and prints cleanly for an editorial meeting.
There’s no social sharing and no upsell. It shows what’s scheduled, lets you reshuffle it, and keeps it publishing.
An optional add-on, Scheduled Content Dashboard Pro, adds a drag-and-drop Content Board. It’s free on GitHub during early access.
Features
- Editorial calendar: Month and Week views with drag-and-drop rescheduling (time of day preserved) and an undo
- Create and edit from the calendar: click an empty day to add a post, or click a post to change its title and time
- Multi-select: Ctrl/Command-click several posts and drag them together
- Export to .ics: download the month for Google Calendar, Apple Calendar, or Outlook
- Content Overview: every item in the pipeline grouped by status, post type, author, or category, with a past-due filter and a Print button
- Custom status support: statuses registered by editorial workflow plugins show up on the calendar and overview, color-coded, with their own filter
- Dashboard widget: scheduled content grouped by Today, Tomorrow, This Week, Next Week, and Later
- Mini calendar view: switch the widget to a month grid with dots on days that have scheduled posts
- Missed-schedule detection: posts stuck in
futurestatus past their date are flagged in red - Auto-fix missed schedules: republishes stuck posts when someone loads an admin page (checks at most every 10 minutes, up to 20 posts per check)
- One-click “Publish now”: manually push any missed post live from the widget or the Overview
- Admin bar counter: shows how many posts are scheduled, and how many are missed, while there’s something scheduled
- Optional email digest: daily or weekly summary of missed and upcoming posts, sent at 9am site time
- REST API: endpoints for scheduled, missed, counts, statuses, publish-now, and reschedule
- Post type and author filters: drill down inside the widget without leaving the dashboard
- “Mine only” toggle: multi-author sites can limit the widget to the current user’s content
- Drafts in widget (optional): show drafts alongside scheduled items
- Settings page: item limit, post types, statuses, default view, overview grouping, auto-fix, and digest
- Any public post type: posts, pages, products, events, custom post types. New installs include Posts only; tick others under Scheduled > Settings
- Privacy-friendly: no tracking, no external requests, no cookies
Use cases
- Editorial teams managing a content calendar
- Bloggers scheduling posts in advance
- Agencies juggling multiple client sites
- Anyone frustrated by WordPress missing scheduled publish times
Privacy
This plugin does not collect data, send data to external servers, use cookies, or track users. Everything displayed is already in your WordPress database.
Developer hooks
scheduled_content_dashboard_query_args: filter the WP_Query args used for the scheduled content list.
scheduled_content_dashboard_auto_fix_missed: return `false` to disable the auto-publish of missed scheduled posts.
scheduled_content_dashboard_statuses: filter the list of post statuses the calendar and overview can display.
REST API
Base namespace: scheduled-content-dashboard/v1. The GET endpoints require a logged-in user with the edit_posts capability. The POST endpoints require permission to edit that post, and publishing also needs the post type’s publish capability.
GET /scheduled: list scheduled posts (query args:post_type,author,limitup to 200, default 50,status)GET /statuses: list the statuses this site can show, with labels, colors, and which are enabledGET /missed: list missed scheduled postsGET /counts: return{ total, scheduled, missed }POST /publish/{id}: publish a scheduled post nowPOST /reschedule/{id}: set a post’s publish date and schedule it (body:date, any formatstrtotime()understands, must be in the future)