[wp-trac] [WordPress Trac] #44498: Make `_wp_personal_data_cleanup_requests()` run on cron
WordPress Trac
noreply at wordpress.org
Sun Apr 5 21:30:54 UTC 2026
#44498: Make `_wp_personal_data_cleanup_requests()` run on cron
-------------------------+------------------------------
Reporter: desrosj | Owner: (none)
Type: enhancement | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Privacy | Version: 4.9.6
Severity: normal | Resolution:
Keywords: needs-patch | Focuses:
-------------------------+------------------------------
Comment (by masteradhoc):
Hey @desrosj
Thanks for the clear report — I’ve opened a Pull Request for review.
Additionally, I identified and fixed a timezone issue in
`_wp_personal_data_cleanup_requests()` (wp-admin/includes/privacy-
tools.php).
The query used `'column' => 'post_modified_gmt'`, while
`WP_Date_Query::build_mysql_datetime()` generates timestamps in the site’s
local timezone. This led to mismatched comparisons (local time vs UTC):
* Positive UTC offsets: expiry threshold shifts into the future → requests
expire immediately
* Negative offsets: requests live longer than intended
This is subtle with a 24h window but becomes obvious with short
expirations (e.g. 120 seconds used for my tests), where requests can fail
instantly.
Thank you very much for your feedback.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/44498#comment:4>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list