Presswell Publication Schedule
Presswell Publication Schedule

Presswell Publication Schedule

0/5 (0 ratings) 10 active installs Updated Nov 4, 2026
Plugin settings screen.

Plugin settings screen.

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, both editors, and Presswell Site Structure’s page tree

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. A value that isn’t an array is ignored.
  • pwps_filter_settings – Filter settings from the settings page before they are saved. A value that isn’t an array is ignored, and the unfiltered settings are saved.
  • pwps_next_slot – Change the slot a post is given: receives the next open slot (Y-m-d H:i:s in the site’s timezone, or empty when none is open), the post type, and the post ID (0 for the next open time shown in the editor). Return a future date and time, or an empty string for no slot, which is handled as when every slot is taken; other values are ignored.
  • 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_status_rows – Add or change rows in the Debug tab’s status table. Each row is an array with label, value, and status (ok, warning, or empty); rows without a string label and value are skipped.
  • 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.

Actions

  • pwps_settings_before_fields – Fires before the fields on the Settings tab, inside its form table; output table rows.
  • pwps_settings_after_fields – Fires after the fields on the Settings tab, inside its form table; output table rows.
  • pwps_post_scheduled – Fires after a post is given a slot, once it’s saved with its date. Receives the post ID, the slot (Y-m-d H:i:s in the site’s timezone), and the post type.
  • pwps_published_now – Fires after “Publish now” publishes a post. Receives the post ID.
  • pwps_missed_published – Fires after the Missed Schedules check publishes overdue posts, once per check. Receives an array of post IDs.

Functions

  • pwps_get_next_slot( $post_type ) – The next open slot for a scheduled post type (Y-m-d H:i:s in the site’s timezone), or an empty string. Looking it up doesn’t reserve it.
  • pwps_get_schedule() – The weekly schedule the plugin uses, after the pwps_schedule filter.

    pwps_manage_caps 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 );
} );