prefix}wc_order_stats os JOIN {$wpdb->prefix}wc_customer_lookup cl ON cl.customer_id = os.customer_id $where GROUP BY cl.customer_id ORDER BY ltv DESC"; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter $results = $wpdb->get_results( $query, ARRAY_A ); $labels = array(); $ltv = array(); $quantity = array(); $chart_limit = 15; $chart_count = 0; foreach ( $results as $row ) { if ( $chart_count < $chart_limit ) { $labels[] = trim( $row['name'] ) !== '' ? trim( $row['name'] ) : 'Guest'; $ltv[] = (float) $row['ltv']; $quantity[] = (int) $row['orders_count']; $chart_count++; } } return array( 'table' => $results, 'chart' => array( 'labels' => $labels, 'ltv' => $ltv, 'quantity' => $quantity, ) ); } }