get_var( "SELECT COUNT(*) FROM {$wpdb->prefix}usermeta WHERE meta_key='vv_user_role' AND meta_value='Vendor'" ); $total_products = $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->prefix}posts WHERE post_type='product' AND post_status='publish'" ); $total_orders = $wpdb->get_var( "SELECT COUNT(DISTINCT order_id) FROM {$wpdb->prefix}vv_system_orders" ); $total_earnings = (float) $wpdb->get_var( "SELECT COALESCE(SUM(amount),0) FROM {$wpdb->prefix}vv_wallet_transactions WHERE type='credit' AND user_id=1" ); $pending_withdrawals = (int) $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->prefix}vv_withdrawals WHERE status='pending'" ); $pending_approvals = (int) $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->prefix}vv_product_approvals WHERE status='pending'" ); $open_fraud = (int) $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->prefix}vv_fraud_alerts WHERE is_resolved=0 AND severity='high'" ); // 30-day chart $chart_rows = $wpdb->get_results( "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 30 DAY) GROUP BY DATE(created_at) ORDER BY day ASC" ); $chart_labels = $chart_data = []; foreach ( $chart_rows as $r ) { $chart_labels[] = date( 'M j', strtotime( $r->day ) ); $chart_data[] = (float) $r->total; } ?>
⚠ ' . $pending_withdrawals . ' pending withdrawal(s). Review
📋 ' . $pending_approvals . ' product(s) awaiting approval. Review
'; ?>🚨 ' . $open_fraud . ' high-severity fraud alert(s). Review
'; ?>' . esc_html__( 'Settings saved.', 'vendorverse' ) . '
'; } $pages = get_pages(); $page_select = function( $name, $label ) use ( $pages ) { $val = get_option( $name ); echo '