get_results( $wpdb->prepare( "SELECT DATE(created_at) AS day, SUM(amount) AS total FROM {$wpdb->prefix}vv_wallet_transactions WHERE type='credit' AND user_id=1 AND created_at >= DATE_SUB(NOW(), INTERVAL %d DAY) GROUP BY DATE(created_at) ORDER BY day ASC", $period ) ); // Top vendors $top_vendors = $wpdb->get_results( $wpdb->prepare( "SELECT t.user_id, u.display_name, SUM(t.amount) AS total FROM {$wpdb->prefix}vv_wallet_transactions t JOIN {$wpdb->prefix}users u ON t.user_id = u.ID WHERE t.type='credit' AND t.created_at >= DATE_SUB(NOW(), INTERVAL %d DAY) AND t.user_id != 1 GROUP BY t.user_id ORDER BY total DESC LIMIT 10", $period ) ); // Top products $top_products = $wpdb->get_results( $wpdb->prepare( "SELECT so.product_id, COUNT(*) AS orders FROM {$wpdb->prefix}vv_system_orders so WHERE so.created_at >= DATE_SUB(NOW(), INTERVAL %d DAY) GROUP BY so.product_id ORDER BY orders DESC LIMIT 10", $period ) ); // Cart conversion $cart_count = (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->prefix}vv_cart_report WHERE created_at >= DATE_SUB(NOW(), INTERVAL %d DAY)", $period ) ); $order_count = (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->prefix}vv_system_orders WHERE created_at >= DATE_SUB(NOW(), INTERVAL %d DAY)", $period ) ); $conversion = $cart_count > 0 ? round( ( $order_count / $cart_count ) * 100, 1 ) : 0; $labels = $data = []; foreach ( $rev_rows as $r ) { $labels[] = date( 'M j', strtotime( $r->day ) ); $data[] = (float) $r->total; } $vendor_labels = $vendor_data = []; foreach ( $top_vendors as $v ) { $vendor_labels[] = $v->display_name; $vendor_data[] = (float) $v->total; } ?>

'7 Days',30=>'30 Days',90=>'90 Days',365=>'1 Year'] as $d=>$l ) : ?>
Cart-to-Order Conversion
%
carts → orders
Total Orders
Total Revenue (Commission)

Revenue Over Time

Top Vendors

Top Products by Orders

ProductOrders
product_id) ); ?>orders); ?>

Top Vendors by Revenue

VendorRevenue
display_name); ?>total); ?>
📥 Export Report CSV
get_results( $wpdb->prepare( "SELECT t.id, u.display_name, t.amount, t.type, t.description, t.created_at FROM {$wpdb->prefix}vv_wallet_transactions t JOIN {$wpdb->prefix}users u ON t.user_id = u.ID WHERE t.created_at >= DATE_SUB(NOW(), INTERVAL %d DAY) ORDER BY t.created_at DESC", $period ) ); header( 'Content-Type: text/csv' ); header( 'Content-Disposition: attachment; filename="vendorverse-report-' . date('Y-m-d') . '.csv"' ); $out = fopen( 'php://output', 'w' ); fputcsv( $out, [ 'ID', 'User', 'Amount', 'Type', 'Description', 'Date' ] ); foreach ( $rows as $r ) { fputcsv( $out, [ $r->id, $r->display_name, $r->amount, $r->type, $r->description, $r->created_at ] ); } fclose( $out ); exit; } }