Обработка массовых действий из выбранных заказов
add_filter ('handle_bulk_actions-edit-shop_order', 'delivery_collect_calc_bulk_action_edit_shop_order', 10, 3); функция delivery_collect_calc_bulk_action_edit_shop_order ($ redirect_to, $ action, $ post_ids) {
if ( $action === 'delivery-collect' ) {
$order_numbers = []; // Initializing
$cod_orders_total = 0; // Initializing
$salary_per_order = 1.5;
$second_number= 0
foreach ( $post_ids as $post_id ) {
// Get Order status
$order = wc_get_order( $post_id );
if( $order->get_payment_method() === 'cheque' ) {
$cod_orders_total += (float) $order->get_total();
$second_number += (float) $order->get_total_discount();
}
// Order status change to "completed" (To enable uncomment the line below)
$order->update_status("completed");
$order_numbers[] = $order->get_order_number(); // Adding processed order numbers to an array
}
$orders_count = count( $order_numbers );
$amount_to_collect = $cod_orders_total - $second_number ;