首页 > 解决方案 > 下订单前的 WooCommerce 电话号码验证

问题描述

我正在尝试将客户的电话号码转换为 921234456 格式。

这是我放在functions.php中的代码

// Format phone number in this format: 923131234567
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');

function my_custom_checkout_field_process() {
    global $woocommerce;

  /**
     *Format phone number in this format: 923131234567
     * If no country code is provided, by default 92 (Pakistan) country code is added.
     * @param $phone
     * @return string
     */
    $phone = $_POST['billing_phone']

    function formatPhoneNumber($phone]) {
        $phone = trim($phone);
        $phone = str_replace([' ','-','_'],'',$phone);
        if(empty($phone)) {
            return NULL;
        }

        $phone = ltrim(ltrim($phone, '0'),'+');
        if(strlen($phone) <= 11) {
            $phone = '92' . ltrim($phone,0);
        }

        return $phone;
    }
}

标签: phpwordpresswoocommercecheckoutorders

解决方案


使用此代码,我认为它会正常工作。谢谢你

function formatPhoneNumber($phone) {
    $phone = trim($phone);
    $phone = str_replace([' ','-','_'],'',$phone);
    if(empty($phone)) {
        return NULL;
    }

    $phone = ltrim(ltrim($phone, '0'),'+');
    if(strlen($phone) < 11) {
        $phone = '92' . ltrim($phone);
    }

    return $phone;
}
}

推荐阅读