[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