woocommerce получает поле 'billing_phone' на странице оформления заказа - PullRequest
0 голосов
/ 09 февраля 2020
add_action('woocommerce_order_status_completed', 'my_order_status_completed_sms', 10, 1);
function my_order_status_completed_sms($order_id){
    $order = wc_get_order($order_id);
    $user_id = $order->get_customer_id();

    if($user_id){
        $phone_number = get_user_meta($user_id, 'billing_phone', true);

        if($phone_number){
            cosmosfarm_members_sms_send($phone_number, '#'.$order_id.' is complete. thank you!');
        }
    }
}

Когда кто-то покупает в woocommerce, woocommerce отправляет смс с помощью плагина.

, но есть некоторые проблемы.

Если покупатель является участником, смс будут отправлены как правило, без проблем.

Однако, если покупатель не гость, смс отправляться не будет. В чем проблема?

1 Ответ

0 голосов
/ 10 февраля 2020

Ваша функция зависит от наличия user_id и получения user_meta для этого пользователя.

function my_order_status_completed_sms( $order_id ) {
    // Get the order object
    $order = wc_get_order( $order_id );
    // Get the billing phone number from the order
    $phone_number = $order->get_billing_phone();
    if ( $phone_number ) {
        cosmosfarm_members_sms_send( $phone_number, '#' . $order_id . ' is complete. thank you!' );
    }
}

Используя объект заказа, телефон для выставления счета доступен, если введен для клиента или гостя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...