Directory / plugin

Presswell Publication Schedule

v1.2.0 · by Presswell

Simple and precise post publishing control for WordPress based on day of the week and time of day.

About this plugin

Presswell Publication Schedule adds precise, automated control over how often new posts are published, and is the perfect solution for ensuring a consistent editorial calendar. Configure the days and times when posts should be published, and new posts will be automatically scheduled for the next available time slot.

Features

  • Automatically schedule posts based on simple day and time rules
  • Works with posts, pages, and custom post types; each post type fills its own time slots
  • Shows the next open time in the block editor, and confirms the slot a post was given
  • Ability to override scheduled date for Admins and Editors
  • ‘Publish Now’ actions for Admins and Editors, in the post list and both editors

Documentation

Filters

  • pwps_manage_caps – Filter the capability list used to determine who can use schedule override and “Publish now” actions.
  • pwps_schedule – Filter the weekly schedule used to find slots: an array keyed by day of the week (0 for Sunday to 6 for Saturday), each holding a list of 24-hour times such as 14:30.
  • pwps_filter_settings – Filter settings from the settings page before they are saved.
  • pwps_slot_lock_wait – Seconds a publish waits for another in-progress publish before choosing a slot (default 5).
  • pwps_debug_log_filename – Filename of the private debug log.
  • pwps_debug_log_max_bytes – Size at which the debug log rotates (default 5 MB).
  • pwps_should_schedule – Return true to schedule posts published by other sources. By default only posts published by a person in wp-admin (the block and classic editors, Quick Edit and Bulk Edit) are scheduled; imports, WP-CLI, REST clients using application passwords, and other plugins keep the date they set.

The filter receives an array of capabilities. Access is granted when the current user has at least one capability in the array.

Example:

add_filter( 'pwps_manage_caps', function( $caps ) {
  $caps[] = 'manage_publication_schedule';
  return array_unique( $caps );
} );

Plugin tags