Я сделал простую функцию, которая будет запускаться, когда администратор редактирует заказ Woocommerce:
add_action( 'woocommerce_process_shop_order_meta', 'myfunction' );
myfunction отлично работает, когда я редактирую один заказ. Он проверяет, содержит ли заказ указанный c продукт, и если продукт найден в заказе, некоторые данные добавляются в MailChimp.
Когда я массово редактирую свои заказы, в частности, меняю статус заказа на «Завершено», крюк, кажется, не работает. Заказы изменяются на статус «завершен», но данные не отправляются в MailChimp.
Здесь на всякий случай myfunction, но я подозреваю, что это проблема с woocommerce_process_shop_order_meta, не работающим в режиме массового редактирования.
function myfunction( $order_id ){
$order = wc_get_order( $order_id );
$items = $order->get_items();
foreach ( $items as $item_id => $item ) {
$product_id = $item->get_variation_id() ? $item->get_variation_id() : $item->get_product_id();
if ( $product_id === 4472 ) {
$email = $order->get_billing_email();
$first_name = $order->get_billing_first_name();
$last_name = $order->get_billing_last_name();
sample_order_mailchimp($email, $first_name, $last_name);
break;
}
}
}
Я что-то упускаю здесь очевидное?