JJ's Post Scheduler

Description

JJ’s Post Scheduler helps you prepare WordPress post and page updates ahead of
time, review the changes, and choose when they should go live.

Instead of waiting until launch day to edit content by hand, you can record a
change on a private copy, check what will be updated, schedule it, and keep a
clear record of what happened.

Use it for planned content updates like campaign pages, announcements, seasonal
copy, publish-date changes, featured-image swaps, status changes, taxonomy
updates, and other post or page edits that should happen later.

How it works

  1. Open an existing post or page.
  2. Start a recording.
  3. Edit the private copy instead of the live item.
  4. Save the recording and review the before-and-after changes.
  5. Pick the date and time when the changes should go live.
  6. Check the overview, schedule list, or calendar to see what is planned.

The live post or page is not changed until the scheduled change runs.

Why use it

JJ’s Post Scheduler is built for people who want a calmer launch workflow. It
helps reduce last-minute edits, gives you a review step before publishing
changes, and keeps schedule history nearby when you need to see what ran.

It is useful for site owners, content managers, agencies, and implementers who
manage important WordPress updates and want more confidence than a manual
checklist.

What core supports

The free core supports existing WordPress posts and pages. Supported fields
include title, slug, content, excerpt, status, publication date, author, featured
image, menu order, registered taxonomies, and explicitly allowlisted registered
metadata. Pages also support parent and page template changes.

Custom post types and fields owned by other plugins are not scheduled
automatically. JJ’s Post Scheduler does not require WooCommerce.

What you get

  • A recording workflow for post and page edits.
  • Private editable copies so you can prepare changes safely.
  • Before-and-after review before scheduling.
  • Schedule list and calendar views.
  • Status history, audit records, and rollback support for scheduled changes.

Documentation

User guidance is included in this readme and in the plugin admin screens.

Source code and build instructions

Human-readable source for the JavaScript and CSS shipped in assets/build/ is
included under assets/src/.

Build metadata is included in package.json, package-lock.json, and
webpack.config.js.

From the plugin directory, run:

  1. npm ci
  2. npm run build

PHP production dependencies are installed with Composer. Third-party
dependencies and licenses are listed in THIRD-PARTY-NOTICES.txt.

Privacy

JJ’s Post Scheduler stores recording and scheduling data in your WordPress
database. This can include launch plans, snapshots, audit events, and recording
state.

The plugin does not send site data to external services by default.

Review support reports and screenshots before sharing them. Uninstall removes
plugin data only when the existing scheduled_changes_delete_data_on_uninstall
setting explicitly permits destructive cleanup.

Security

JJ’s Post Scheduler uses WordPress permissions, nonces, REST permission checks,
provider validation, schedule plans, readback checks, and fail-closed execution.

Report security issues privately through https://jjwp.net/.

Screenshots

Installation

  1. Upload jjs-post-scheduler-1.0.1.zip through Plugins > Add New > Upload Plugin.
  2. Activate JJ’s Post Scheduler.
  3. Open JJ’s Post Scheduler > Overview to review scheduled changes.
  4. Use the post or page editor to start a recording.
  5. Edit the private copy, then save the recording and schedule it.

FAQ

Does JJ’s Post Scheduler require WooCommerce?

No. JJ’s Post Scheduler core activates and runs without WooCommerce. Core 1.0.1
ships native post and page scheduling only; WooCommerce product scheduling is
outside the shipped core package.

Which WordPress content can core schedule?

Core schedules existing posts and pages through its certified native provider.
It does not promise automatic support for custom post types, arbitrary post
meta, or fields owned by another plugin.

How does Record a Target Change work?

Open an existing post or page and choose Record. JJ’s Post Scheduler creates a
private editable copy. Edit that copy normally, then use Save recording to
review and schedule its field-level changes. The source stays unchanged until
execution.

What happens when a required provider is unavailable?

Execution is blocked. Plans, recordings, snapshots, and rollback evidence remain
stored so the provider can be restored or support evidence can be reviewed.

How does JJ’s Post Scheduler install its database tables?

Version 1.0.0 creates the current baseline schema during activation. There is no
public pre-1.0.0 migration path.

What happens on uninstall?

Deactivation leaves schedules and data intact. Destructive uninstall occurs only
when the explicit retention setting allows it. Extension-owned data is not deleted
by core.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“JJ's Post Scheduler” is open source software. The following people have contributed to this plugin.

Contributors

Translate “JJ's Post Scheduler” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.0.1

  • Updates the admin calendar to use the full calendar interface.
  • Improves admin navigation labels and product branding in the Lite package.

1.0.0

  • Native WordPress post/page scheduling in core.
  • Fresh 1.0.0 baseline schema for launches, recordings, queue actions, snapshots, REST routes, CLI commands, and capabilities.