WooCommerce: calcula las ventas por estado

Está completando sus informes de impuestos… ¡y luego descubre que WooCommerce no le proporciona este cálculo de manera predeterminada!

No llores  Hoy te mostraré un fragmento rápido para calcular eso en un segundo. Siéntase libre de cambiar el año, el país y los estados en el fragmento.

WooCommerce: obtenga ventas por estado

Fragmento de PHP: Obtener ventas por estado @ Administrador de WooCommerce (Informes)

/**
 * @snippet       Get Sales by State @ WooCommerce Admin
 * @how-to        Get CustomizeWoo.com FREE
 * @sourcecode    https://businessbloomer.com/?p=72853
 * @author        Rodolfo Melogli
 * @testedwith    WooCommerce 3.1.2
 */
 
// -----------------------
// 1. Create extra tab under Reports / Orders
 
add_filter( 'woocommerce_admin_reports', 'bbloomer_admin_add_report_orders_tab' );
 
function bbloomer_admin_add_report_orders_tab( $reports ) {
 
$array = array(
    'sales_by_state' => array(
        'title' => 'Sales by state',
        'description' => '',
        'hide_title' => 1,
        'callback' => 'bbloomer_yearly_sales_by_state'
    )
);
 
$reports['orders']['reports'] = array_merge($reports['orders']['reports'],$array);
 
return $reports;
}
 
// -----------------------
// 2. Calculate sales by state
 
function bbloomer_yearly_sales_by_state() {
 
   $year = 2017; // change this if needed
   $total_ca = $total_wa = 0; // add states if needed
 
    $args = [
        'post_type' => 'shop_order',
        'posts_per_page' => '-1',
      'year' => $year,
        'post_status' => ['wc-completed']
    ];
    $my_query = new WP_Query($args);
    $orders = $my_query->posts;
 
    foreach ($orders as $order => $value) {
    
   $order_id = $value->ID;
   $order = wc_get_order($order_id);
   $order_data = $order->get_data();
 
   if ( $order_data['billing']['country'] === 'US' ) {  
      if ( $order_data['billing']['state'] === 'CA' ) $total_ca += $order->get_total();
      if ( $order_data['billing']['state'] === 'WA' ) $total_wa += $order->get_total();
   }
 
    }
 
   echo "<h3>Sales by State for Year " . $year . "</h3>";
   echo "CA: " . wc_price($total_ca) . "</br>";
   echo "WA: " . wc_price($total_wa) . "</br>";
 
}

Deja un comentario