WordPress 용 WooCommerce 플러그인에 연결을 시도하는 데 문제가 있습니다. 문제는 선택한 로컬 픽업 배송 옵션에 따라 주문 수신자 이메일을 조건부로 변경해야한다는 것입니다. 내 코드는 몇 달 동안 제대로 작동하지만 갑자기 작동합니다. 그것은 작동을 멈췄다. 이 내 functions.php 파일에있는 것입니다 : 나는 몇 가지 테스트와 연구와 약간의 디버깅 후를했습니다
add_filter('woocommerce_email_recipient_new_order', 'diff_recipients_email_notifications', 10, 2);
function diff_recipients_email_notifications($recipient, $order) {
$shippingOptionOne = '[email protected]';
$shippingOptionTwo = '[email protected]';
$shippingOptionThree = '[email protected]';
$order_shipping = $order->get_items('shipping');
$key = key($order_shipping);
$shipping_method_id = $order_shipping[$key]['item_meta']['method_id'][0];
if($shipping_method_id == 'local_pickup:6')
{
$recipient = $shippingOptionOne;
}
elseif($shipping_method_id == 'local_pickup:4'){
$recipient = $shippingOptionTwo;
}
elseif($shipping_method_id == 'local_pickup:7'){
$recipient = $shippingOptionThree;
}
return $recipient;
}
, 나는 변수 $ 주문이오고있는 것을 결론에 도달했습니다 내 함수의 두 번째 매개 변수는 빈 값을 인쇄하므로 $ order_shipping = $ order-> get_items ('shipping')을 얻을 수 없습니다. ($ 주문은 빈 공간을 인쇄합니다).
미리 감사드립니다.
P.S : 이것은 내가 처음에 내 코드를 만들기 위해 사용되는 링크입니다 : WooCommerce email notifications: different email recipient for different cities