在woocommerce的結帳頁面,

姓名欄位是只要輸入不管英文中文數字都是可以下單的,

於是現在要使用正規表示法驗證欄位

讓姓名欄位只能夠輸入中文

代碼以下

//將Woocommerce姓名限制只能輸入中文 checkout頁面 結帳頁面 
add_action( 'woocommerce_after_checkout_validation', 'misha_validate_fname_lname', 10, 2);
 
function misha_validate_fname_lname( $fields, $errors ){
 
    if ( preg_match( '/\w/', $fields[ 'billing_first_name' ] ) || preg_match( '/\w/', $fields[ 'billing_last_name' ] )  ){
        $errors->add( 'validation', '帳單資訊:姓名請輸入中文名稱' );
    }

    if ( preg_match( '/\w/', $fields[ 'shipping_first_name' ] ) || preg_match( '/\w/', $fields[ 'shipping_last_name' ] )  ){
        $errors->add( 'validation', '運送資訊:姓名請輸入中文名稱' );
    }

}

一樣放在function.php

最後修改日期: 2021 年 5 月 24 日

作者