<?php
require_once('wp-load.php');
// Check if WooCommerce is active
if ( class_exists( 'WooCommerce' ) ) {
// Get selected status from the dropdown
$status = isset( $_GET['status'] ) ? sanitize_text_field( $_GET['status'] ) : '';
// Fetch orders based on the selected status
$args = array(
'post_type' => 'shop_order',
'post_status' => $status,
'posts_per_page' => -1,
);
$orders_query = new WP_Query( $args );
// Display page header
echo '<h1>Orders</h1>';
// Display filter dropdown
echo '<form method="get">';
echo '<label for="status">Filter by status:</label>';
echo '<select id="status" name="status">';
echo '<option value="">All</option>';
echo '<option value="wc-processing" ' . selected( $status, 'wc-processing', false ) . '>Processing</option>';
echo '<option value="wc-completed" ' . selected( $status, 'wc-completed', false ) . '>Completed</option>';
echo '<option value="wc-cancelled" ' . selected( $status, 'wc-cancelled', false ) . '>Cancelled</option>';
echo '<option value="wc-pending" ' . selected( $status, 'wc-pending', false ) . '>Pending Payment</option>';
echo '<option value="wc-refunded" ' . selected( $status, 'wc-refunded', false ) . '>Refunded</option>';
echo '</select>';
echo '<input type="submit" value="Filter">';
echo '</form>';
$unique_emails = array();
// Display orders table
if ( $orders_query->have_posts() ) {
while ( $orders_query->have_posts() ) {
$orders_query->the_post();
$order = wc_get_order( get_the_ID() );
//echo '<td>' . $order->get_order_number() . '</td>';
$name = $order->get_billing_first_name() . ' ' . $order->get_billing_last_name();
$emailis = $order->get_billing_email();
$unique_emails[$emailis] = $name;
//echo '<td>' . $order->get_date_created()->date( 'Y-m-d H:i:s' ) . '</td>';
//echo '<td>' . wc_get_order_status_name( $order->get_status() ) . '</td>';
//echo '<td>' . $order->get_total() . '</td>';
}
// Reset post data
wp_reset_postdata();
} else {
echo 'No orders found.';
}
} else {
echo 'WooCommerce is not active.';
}
foreach ($unique_emails as $email => $name) {
echo $name.",".$email."<br/>";
}
die;
?>