다른 주소로 배송 된 & 고객이 이전에 주문하지 않은 경우 woocommerce에서 주문의 주문 상태를 변경하고 싶습니다. Woocommerce는 실패한 과거 주문을 구별해야 할 수 있습니다. 고객이 이전에 시도했지만 실패했을 수 있으므로 시스템에 주문이 있지만 실패, 취소 또는 보류 중임을 의미합니다.신규 고객이 WooCommerce의 다른 주소로 배송하는 경우 주문 상태 변경
나는 "확인"이라는 시스템의 새로운 주문 상태를 이미 만들었습니다. 고객에게 "다른 주소로 배송"옵션이있는 주문이 접수되면 스크립트를 실행하고 싶습니다. 전에 주문했는지 여부. 그렇지 않으면 주문 상태가 "확인"으로 변경됩니다.
내가 시도한 첫 번째 사항은 고객이 주문이 확인 될 때까지 배송되지 않는다고 말하는 주문이 하나 뿐인 경우 고객에게 아래 코드를 알려주는 것이 었습니다. 하지만 주문이 많을지라도 아무리 표시됩니다. 내가 functions.php
파일에이 코드를 설정하는 것입니다 시도 무엇
는 :
function wc_get_customer_orders() {
// Get all customer orders
$customer_orders = get_posts(array(
'numberposts' => 1,
'meta_key' => '_customer_user',
'meta_value' => get_current_user_id(),
'post_type' => wc_get_order_types(),
'post_status' => array_keys(wc_get_order_statuses()),
));
$customer = wp_get_current_user();
// Text for our message
$notice_text = sprintf('Hey %1$s 😀 As this is your first order with us, we will need to verify some info before shipping.', $customer->display_name);
// Display our notice if the customer has no orders
if (count($customer_orders) == 1) {
wc_print_notice($notice_text, 'notice');
}
}
add_action('woocommerce_before_my_account', 'wc_get_customer_orders');
내가 놓치고 만 서로 다른 주소와의 첫 순서로 배를 선택한 경우이 경고를 트리거하는 방법입니다.
또한 상태를 확인하기 위해 상태를 업데이트하는 코드가 트리거되어야합니다.
도움이 될 것입니다.
이 반드시 WooCommerce에 먼저 수행해야합니다
감사합니다. 이 코드를 테스트 할 때 다음과 같은 치명적인 오류가 발생했습니다. 치명적 오류 :/home/******/public_html/wp-content/themes/*******/functions의 boolean에있는 get_user_id() 멤버 함수를 호출하십시오.PHP on line 1422 – 305David
@ 305David ... 답변을 업데이트했습니다 ... 약간의 실수였습니다. 다시 시도해주세요. 이번엔 효과가 있습니다. 감사합니다 – LoicTheAztec
고마워요 Loic,이 WordPress 포럼이 귀하의 지원 밖으로 될 줄 알아요. 이 코드가 작동하는지 확인할 수 있습니다. 선박을 다른 주소로 선택한 신규 고객의 주문을 확인한 다음 상태를 확인하도록 설정합니다. 관리자 주문 화면에서 상태 버튼의 너비와 높이를 확장하는 클래스 "확인"에 수동으로 CSS를 추가했습니다. 또한 저장소 관리자가 주문이 있다는 것을 시각적으로 볼 수 있도록 빨간색 배경을 제공합니다 확인이 필요한 다시 한 번 감사드립니다. – 305David