admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('wpdd_payouts'), 'confirm_payout' => __('Are you sure you want to process this payout?', 'wp-digital-download'), 'confirm_bulk' => __('Are you sure you want to process all selected payouts?', 'wp-digital-download') )); } public static function render_page() { global $wpdb; // Get filter parameters $status_filter = isset($_GET['status']) ? sanitize_text_field($_GET['status']) : 'pending'; $creator_filter = isset($_GET['creator']) ? intval($_GET['creator']) : 0; // Get creators with balance $creators = WPDD_Creator::get_creators_with_balance(); $currency = get_option('wpdd_currency', 'USD'); $threshold = floatval(get_option('wpdd_payout_threshold', 0)); // Get payout history $query = "SELECT p.*, u.display_name, u.user_email FROM {$wpdb->prefix}wpdd_payouts p INNER JOIN {$wpdb->users} u ON p.creator_id = u.ID WHERE 1=1"; if ($status_filter && $status_filter !== 'all') { $query .= $wpdb->prepare(" AND p.status = %s", $status_filter); } if ($creator_filter) { $query .= $wpdb->prepare(" AND p.creator_id = %d", $creator_filter); } $query .= " ORDER BY p.created_at DESC LIMIT 100"; $payouts = $wpdb->get_results($query); ?>
created_at))); ?>
processed_at) : ?>
processed_at))); ?> |
display_name); ?> user_email); ?> |
amount, $payout->currency); ?> | paypal_email); ?> |
transaction_id ?: '-'); ?>
notes) : ?>
notes); ?> |
status) { case 'completed': $status_class = 'notice-success'; break; case 'failed': $status_class = 'notice-error'; break; case 'pending': $status_class = 'notice-warning'; break; } ?> status)); ?> | payout_method)); ?> | display_name); ?> payout_method === 'automatic' ? __('System', 'wp-digital-download') : '-'; ?> |