PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.0
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.0
4.11.0 4.10.0 4.9.5 4.9.4 4.9.3 4.9.2 4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Framework / Analytics / AnalyticsCleanup.php
wp-staging / Framework / Analytics Last commit date
Actions 1 day ago AnalyticsCleanup.php 1 day ago AnalyticsConsent.php 1 day ago AnalyticsEventDto.php 1 day ago AnalyticsEventWithTimeDto.php 1 day ago AnalyticsGenericEventHandler.php 1 day ago AnalyticsSender.php 1 day ago ErrorCode.php 1 day ago WithAnalyticsAPI.php 1 day ago WithAnalyticsSiteInfo.php 1 day ago
AnalyticsCleanup.php
32 lines
1 <?php
2
3 namespace WPStaging\Framework\Analytics;
4
5 class AnalyticsCleanup
6 {
7 public function cleanupOldAnalytics()
8 {
9 global $wpdb;
10
11 $results = $wpdb->get_results("SELECT `option_id`, `option_name` FROM $wpdb->options WHERE `option_name` LIKE 'wpstg_analytics_event_%' ORDER BY `option_id` ASC");
12
13
14 if (count($results) < 100) {
15 return;
16 }
17
18
19 $idsToDelete = array_map(function ($option) {
20 return $option->option_id;
21 }, array_slice($results, 0, 20));
22
23 $idsToDelete = implode(',', $idsToDelete);
24
25 $deleteResult = $wpdb->query("DELETE FROM $wpdb->options WHERE `option_id` IN ($idsToDelete)");
26
27 if ($deleteResult != 20) {
28 \WPStaging\functions\debug_log(sprintf('WPSTAGING Analytics Cleanup tried to delete 20 events but couldn\'t. wpdb last query: %s wpdb last error: %s', $wpdb->last_query, $wpdb->last_error));
29 }
30 }
31 }
32