Jean Galea

AI, Investing, Health, and Building Businesses

  • Start Here
  • AI & Tech
    • AI
    • Tech
    • Modern Web Stack
    • Business
  • Investing
    • Investing Basics
    • Crypto
    • Stocks
    • P2P Lending
    • Calculators
    • Dividends
    • FIRE & Early Retirement
    • European Investing Hub
  • Life
    • Essays
    • Barcelona
    • Padel
    • Health & Fitness
    • Hobbies
    • Family
  • About
    • My Story
    • Projects
    • AI Consultancy
    • Speaking
  • Blog
  • Community
    • Good Life Collective
    • Daily Driver AI
  • Search

Scheduled Content Dashboard: Editorial Calendar for WordPress

Scheduled Content Dashboard shows everything queued up for publication across three screens: a dashboard widget grouped by when posts are due, a full editorial calendar where you drag posts to new days, and an overview screen for the whole pipeline. It also catches posts WordPress failed to publish on time and republishes them. I built it for bloggers and editorial teams who schedule content ahead and want to see, at a glance, what’s going out and when.

The Scheduled Content Dashboard editorial calendar showing a month of scheduled, draft and pending posts as colored chips

Download Scheduled Content Dashboard free on WordPress.org or get Scheduled Content Dashboard Pro free on GitHub.

What the Free Plugin Does

  • An editorial calendar under Scheduled > Calendar, with Month and Week views and drag and drop rescheduling that keeps the time of day
  • Click an empty day to create a post on that date, or click a post to edit its title and publish time without leaving the calendar
  • A Content Overview screen that groups the pipeline by status, post type, author or category, with a past-due filter and a print layout
  • A dashboard widget that groups scheduled content into Today, Tomorrow, This Week, Next Week and Later, with a list view and a small month calendar view
  • Missed-schedule detection, with a red flag, a Publish now button and optional automatic republishing
  • An admin bar counter showing how many posts are scheduled and how many were missed
  • Support for custom statuses registered by other plugins, shown on the calendar as dashed, color-coded chips
  • Export of the current month to an .ics file for Google Calendar, Apple Calendar or Outlook
  • An optional daily or weekly email digest of missed and upcoming posts
  • A REST API and three developer filters
  • No tracking, no external requests and no cookies

What Pro Adds

Scheduled Content Dashboard Pro is for teams that move posts through drafting, review and scheduling. It adds a Content Board, a kanban-style screen under Scheduled > Board with one column per pipeline status plus a Published column. You drag a card from Draft to Pending to Scheduled and the post’s status changes. Every move can be undone, and publishing from the board asks you to confirm first.

Get Scheduled Content Dashboard Pro from GitHub. It’s free while it’s in early access. It needs the free plugin active, and it reads the free plugin’s post type and status settings, so there’s nothing extra to configure.

Installation

Install the free plugin

  1. In your WordPress admin, go to Plugins > Add New and search for Scheduled Content Dashboard.
  2. Click Install Now, then Activate.
  3. Open the Dashboard to see the widget, or go to Scheduled > Calendar.

It needs WordPress 5.3 or later and PHP 7.4 or later. It works on multisite, and each site gets its own widget and calendar.

Install Scheduled Content Dashboard Pro

  1. Download scheduled-content-dashboard-pro.zip from the latest release.
  2. Go to Plugins > Add New > Upload Plugin, choose the zip and click Install Now.
  3. Activate it. Keep the free plugin active, version 3.1.0 or later.

Pro needs the same WordPress and PHP versions as the free plugin. Updates arrive on the WordPress Updates screen like any other plugin. If the free plugin is missing or too old, Pro shows a notice instead of loading.

Documentation

Use the dashboard widget

The Scheduled Content widget sits on your main Dashboard. If you don’t see it, open Screen Options at the top of the Dashboard and tick Scheduled Content.

The Scheduled Content dashboard widget with a missed post, then posts grouped under Tomorrow and Next Week

The header has four controls:

  • Filter opens a post type and author filter.
  • Open full calendar and Overview jump to those screens.
  • List and Calendar switch the widget between a grouped list and a month grid with dots on the days that have posts. Each user keeps their own choice.
  • Mine only limits the widget to your own content, which helps on multi-author sites. The button then reads Show all authors.

In list view, content is grouped under Today, Tomorrow, This Week, Next Week and Later, soonest first. Missed posts get their own group at the top. If you tick Include drafts in the settings, drafts get a group too. The widget shows up to seven items by default, and a link to the full calendar appears when more are queued. Switching view or applying a filter swaps the content in place without reloading the page.

Use the editorial calendar

Go to Scheduled > Calendar. The Month and Week buttons switch views, and the arrow buttons and Today move through time. Posts appear as chips showing the time, a colored dot for the post type and the author’s initial. Drafts and pending posts get a status badge, and missed posts turn red.

The filters above the grid narrow the calendar by post type, by author and by status. The status filter appears once you’ve enabled more than one status in the settings.

Reschedule with drag and drop

Drag a post to another day and it moves there with its time of day unchanged. A toast confirms the change and offers Undo for a few seconds. To move several posts at once, hold Ctrl (Command on a Mac) and click each chip, then drag any selected one. A bar shows how many are selected, and Clear drops the selection. With the keyboard, focus a chip and press Space to select it or Enter to edit it.

Dragging a draft or pending post changes its intended publish date only. It keeps its status, so nothing goes live by accident.

Create and edit posts from the calendar

Hover an empty day and click + Add to create a post on that date. A small popover asks for a title and a publish time.

Clicking an existing chip opens the same popover as Edit post, with Title and Publish at fields. Save applies your changes. Delete moves a scheduled post to the trash after a confirmation, and Open editor takes you to the normal edit screen. Escape closes the popover. When a day has more posts than fit, +N more expands it in place.

The Edit post popover on the editorial calendar with Title and Publish at fields and Delete, Open editor, Cancel and Save buttons

Export to a calendar app

Export .ics downloads the month you’re viewing as a calendar file, named like scheduled-2026-11.ics. Import it into Google Calendar, Apple Calendar or Outlook to see your publishing schedule next to everything else.

Use the content overview

Scheduled > Overview lists everything in the pipeline as a table with title, type, author, categories and publish date. Counts for each status sit at the top, and a red badge shows how many items are past due.

The Content Overview screen listing scheduled, draft and pending posts in grouped tables with a past-due item highlighted in red

  • Group by switches the grouping between Status, Post type, Author and Category. Your default comes from the settings, and each user can change it on the screen.
  • The status, type, author and date filters narrow the list. The date filter offers Any date, Upcoming and Past due.
  • Reset clears the filters. Print gives you a clean copy for an editorial meeting.
  • Missed posts have a Publish now link on their row.

The overview lists up to 500 items and tells you when there are more. Narrow the filters to see the rest.

Fix missed schedules

WordPress publishes scheduled posts through WP-Cron. When cron doesn’t run, because a site has little traffic or the server blocks it, posts sit in the Scheduled status past their date. The plugin flags those as missed in the widget, the calendar, the overview and the admin bar.

With Auto-fix missed schedules switched on, which is the default, the plugin republishes missed posts when someone loads a WordPress admin page. It checks at most once every ten minutes and publishes up to 20 posts per check. It runs in the admin only, so a site nobody logs in to won’t be fixed this way. For those sites, a real server cron job hitting wp-cron.php is the proper fix.

To handle missed posts manually, turn the setting off. They still show in red with a Publish now button. You can also disable auto-fix from code:

add_filter( 'scheduled_content_dashboard_auto_fix_missed', '__return_false' );

The admin bar counter

Anyone who can edit posts sees a counter in the admin bar, such as “15 scheduled (1 missed)”. It links to the calendar and disappears when nothing is scheduled.

Use the content board (Pro)

Scheduled > Board is available once Pro is active. It has one column for each status you’ve enabled in the free plugin’s settings, such as Scheduled, Draft and Pending, then a Published column that shows the last 14 days.

The Content Board with Scheduled, Draft, Pending and Published columns of draggable post cards, one missed post highlighted in red

Each card shows the title, post type, publish date and the author’s initial. Missed posts are tinted red. Use the type and author filters to narrow the board, and the Calendar and Overview buttons to jump to those screens.

Move cards between statuses (Pro)

Drag a card to another column to change the post’s status. Every move shows a toast with Undo. With the keyboard, focus a card and press the left or right arrow to move it one column. A few rules apply:

  • Dropping a card on Published asks “Publish this post now?” first. If the post had a future date, its date moves to now.
  • Dropping a card on Scheduled when its date has already passed pushes the date an hour ahead, so it schedules instead of publishing immediately.
  • Moving into Scheduled or Published needs the publish capability for that post type. Every move checks that you can edit the post, and users who can’t edit others’ posts only see their own.

With only Scheduled and Published enabled, a board has little to drag between. Pro tells you so and links to the settings, where you can enable Draft, Pending or a custom status.

To change the columns from code, filter scdp_board_columns, which receives an array of status names and labels.

Change the settings

Go to Scheduled > Settings, which needs the manage options capability.

The Scheduled Content Settings screen with widget options and email digest options

  • Items per group: how many items the widget shows, from 1 to 500. The default is 7.
  • Post types: which public post types the widget, calendar, overview and board include. A fresh install includes Post only, so tick Page or any custom post type you schedule.
  • Statuses: which statuses the calendar and overview can show. Scheduled is always on. Draft, Pending and any custom status from another plugin are optional, and custom ones are marked (custom).
  • Overview grouping: the default grouping for the Overview screen.
  • Include drafts: shows drafts in their own group in the widget.
  • Default view: whether the widget opens as a List or a Calendar.
  • Auto-fix missed schedules: republishes missed posts, as described above.

Set up the email digest

Under Email digest in the settings, tick Send digest, choose Daily or Weekly, and add one or more recipients separated by commas or new lines. With no recipients it goes to the site admin email. The digest summarizes missed and upcoming posts and goes out at 9am in your site’s timezone. It’s skipped when there’s nothing to report.

Custom statuses

The plugin registers no statuses of its own. If an editorial workflow plugin adds statuses such as “In review”, they appear under Statuses in the settings. Tick one and its content shows on the calendar and overview, with its own filter. To hide or add statuses from code, use the scheduled_content_dashboard_statuses filter.

REST API

The namespace is scheduled-content-dashboard/v1, and every endpoint needs a logged-in user who can edit posts.

  • GET /scheduled lists scheduled posts. It accepts post_type, author, limit and status.
  • GET /statuses lists the statuses the site can show, with labels, colors and whether each is enabled.
  • GET /missed lists missed posts.
  • GET /counts returns total, scheduled and missed.
  • POST /publish/{id} publishes a scheduled post now.
  • POST /reschedule/{id} changes the publish date. Send date in any format PHP’s strtotime() understands.

Developer hooks

  • scheduled_content_dashboard_query_args filters the WP_Query arguments used for the scheduled content list.
  • scheduled_content_dashboard_auto_fix_missed returns false to switch off automatic republishing.
  • scheduled_content_dashboard_statuses filters the statuses the calendar and overview can show.
  • scdp_board_columns (Pro) filters the board’s columns.

FAQ

Which post types does it cover?

Any public post type, including pages, products and events. A new install starts with Post only. Add others under Scheduled > Settings > Post types, and they appear everywhere, including the Pro board.

How does it handle timezones?

Everything uses the timezone set in Settings > General. The calendar, week view, widget, overview and .ics export all do their date math in that timezone, so a post scheduled near midnight lands on the right day even if your site is west of UTC.

Will it publish a post before its scheduled time?

No. Auto-fix only touches posts still marked Scheduled whose publish date has already passed. A post goes out early only when you publish it yourself, from the editor, the Pro board or the REST API.

What happens when I drag a draft to a different day?

Only its intended publish date changes. The status stays Draft until you schedule or publish it yourself, or move it on the Pro board.

Does it work with the block editor and multisite?

Yes to both. It links to the standard edit screens, so it doesn’t depend on which editor you use, and each multisite site has its own data.

Does it send data anywhere?

No. It makes no external requests, sets no cookies and tracks nothing. Everything it shows is already in your WordPress database. The email digest is sent through your site’s normal mail setup.

Scheduled Content Dashboard is one of the WordPress plugins I build. For the companies and projects behind them, see my projects page.

Jean Galea

Founder | AI builder | Dad of three | Athlete

Follow @jeangalea

  • My Padel Journey
  • Affiliate Disclaimer
  • Cookies
  • Contact

Copyright © 2006 - 2026