yeah same the error I see is Warning: Illegal string offset ‘auto_delete’ in /home/customer/www/
Curious. I added the plugin WP Crontrol, to check cronjobs. I can see there is a hook that is set:
Hook: wp-mail-catcher_0
Parameters: None
Next execution: 2022-04-16 15:09:04 (in 23 hours 56 minutes)
Callback: WpMailCatcher\ExpiredLogManager::removeExpiredLogs()
Interval: everyday
This cronjob is run, so this is fine.
But, it seems it doesn’t EVER load any Log to delete, probably because there are no parameters at all in the call to the method get:
$logsGet = Logs::get();
This is the only case in all the calls to that method where the argument is empty.
So, the strange hybrid of WP_Query’s args and WPDB’s query, always returns an empty set of logs, thus, nothing will ever be deleted.
I would suggest that the removeExpiredLogs() should contain a simple WPDB query on the table that deletes all the logs where time is less than “now minus the interval set in the settings”.
I just opened a PR which fixes this problem. Hopefully James will merge it soon.
Should be resolved in V2.0.0