How Expiration Dates Are Stored and Rescheduled
WordPress timezone conversion
The date and time entered in the editor are interpreted using the WordPress site timezone. The plugin converts them into a timestamp for scheduling.
One active scheduled event per content item
Before creating a new scheduled expiration event, the plugin removes existing expiration events associated with the same content item. It then creates a new single event for the saved timestamp.
Why rescheduling matters
This approach prevents old events from firing after you change an expiration date. For example, if a page was originally scheduled for Friday and you move it to Monday, the Friday event should no longer remain active for that page.
When expiration is removed
If expiration is disabled, the plugin removes its scheduled event and clears the associated expiration metadata.