Tùy biến địa chỉ trong my account woocommerce (customize the address in my woocommerce account). Trong custom địa chỉ người mua của woocommerce sẽ bao gồm tùy biến tại trang thanh toán, và trang tài khoản và sau đây tôi xin chia sẽ code để Tùy biến địa chỉ trong my account woocommerce (lưu ý các code minh họa dưới đây dùng trong object
với SVW_Ultility::get_province, SVW_Ultility::get_district, SVW_Ultility::get_ward là các option của tỉnh, quận, huyện tôi sẽ chia sẽ trong một bài viết khác về cách làm cái này hoặc anh chị có thể thay thể phần tỉnh, huyện , xã bằng code của mình
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
add_filter( 'woocommerce_billing_fields' , array($this, 'custom_override_billing_fields'),999 ); function custom_override_billing_fields( $fields ) { //echo "<pre>"; print_r($fields); echo "</pre>"; unset($fields['billing_last_name']); unset($fields['billing_company']); unset($fields['billing_postcode']); unset($fields['billing_city']); $fields['billing_first_name']['label']="Họ và tên:"; $fields['billing_first_name']['class'][0]='form-row-wide'; $fields['billing_address_1']['class'][1]='form-row-wide'; $fields['billing_phone']['priority']=101; $province_args = array( 'label' => esc_html__( 'Tỉnh/ Thành Phố', 'svw' ), 'type' => 'select', 'required' => true, 'options' => \SVW_Ultility::get_province(), 'input_class' => array( 'wc-enhanced-select svw-select-province', ), 'priority' => 90, 'default' => '', ); $fields['billing_svw_province'] = $province_args; $district_args = array( 'label' => esc_html__( 'Quận/ Huyện', 'svw' ), 'type' => 'select', 'required' => true, 'options' => \SVW_Ultility::get_district( get_user_meta( get_current_user_id(), 'billing_svw_province', true ) ), 'input_class' => array( 'wc-enhanced-select svw-select-district', ), 'class' => array ( 0 => 'form-row-wide', ), 'priority' => 90 ); $fields['billing_svw_district'] = $district_args; $ward_args = array( 'label' => esc_html__( 'Phường/ Xã', 'svw' ), 'type' => 'select', 'required' => true, 'options' => \SVW_Ultility::get_ward( get_user_meta( get_current_user_id(), 'billing_svw_district', true ) ), 'input_class' => array( 'wc-enhanced-select svw-select-ward', ), 'class' => array ( 0 => 'form-row-wide', 2 => 'update_totals_on_change', ), 'priority' => 100 ); $fields['billing_svw_ward'] = $ward_args; return $fields; } |
code tham khảo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
add_filter( 'woocommerce_shipping_fields' , array($this, 'custom_override_shipping_fields'),999 ); function custom_override_shipping_fields( $fields ) { //echo "<pre>"; print_r($fields); echo "</pre>"; unset($fields['shipping_last_name']); unset($fields['shipping_company']); unset($fields['shipping_postcode']); unset($fields['shipping_city']); $fields['shipping_first_name']['label']="Họ và tên:"; $fields['shipping_first_name']['class'][0]='form-row-wide'; $fields['shipping_address_1']['class'][1]='form-row-wide'; $fields['shipping_phone']['priority']=101; $province_args = array( 'label' => esc_html__( 'Tỉnh/ Thành Phố', 'svw' ), 'type' => 'select', 'required' => true, 'options' => \SVW_Ultility::get_province(), 'input_class' => array( 'wc-enhanced-select svw-select-province', ), 'priority' => 90, 'default' => '', ); $fields['shipping_svw_province'] = $province_args; $district_args = array( 'label' => esc_html__( 'Quận/ Huyện', 'svw' ), 'type' => 'select', 'required' => true, 'options' => \SVW_Ultility::get_district( get_user_meta( get_current_user_id(), 'shipping_svw_province', true ) ), 'input_class' => array( 'wc-enhanced-select svw-select-district', ), 'class' => array ( 0 => 'form-row-wide', ), 'priority' => 90 ); $fields['shipping_svw_district'] = $district_args; $ward_args = array( 'label' => esc_html__( 'Phường/ Xã', 'svw' ), 'type' => 'select', 'required' => true, 'options' => \SVW_Ultility::get_ward( get_user_meta( get_current_user_id(), 'shipping_svw_district', true ) ), 'input_class' => array( 'wc-enhanced-select svw-select-ward', ), 'class' => array ( 0 => 'form-row-wide', 2 => 'update_totals_on_change', ), 'priority' => 100 ); $fields['shipping_svw_ward'] = $ward_args; return $fields; } |
code tham khảo
1 2 3 4 5 6 |
add_filter( 'woocommerce_localisation_address_formats' , array($this, 'custom_format_address'),999 ); function custom_format_address($address_formats){ //nguyễn tấn vinh , ĐT: +84912889416, abc tam hiep - Phường Văn Quán - Quận Hà Đông - Hà Nội $address_formats['VN'] = "{first_name}, ĐT: {billing_phone}, {address_1}, {billing_svw_ward}, {billing_svw_district}, {billing_svw_province}"; return $address_formats; } |
cod tham khảo
1 2 3 4 5 6 7 8 |
add_filter( 'woocommerce_formatted_address_replacements' , array($this, 'custom_address_replacements'),11,2); function custom_address_replacements($v,$args){ $v['{billing_phone}']= get_user_meta( get_current_user_id(), 'billing_phone', true ); $v['{billing_svw_ward}']= \SVW_Ultility::get_detail_ward(get_user_meta( get_current_user_id(), 'billing_svw_ward', true )); $v['{billing_svw_district}']= \SVW_Ultility::get_detail_district(get_user_meta( get_current_user_id(), 'billing_svw_district', true )); $v['{billing_svw_province}']= \SVW_Ultility::get_detail_province(get_user_meta( get_current_user_id(), 'billing_svw_province', true )); return $v; } |
Mọi sự sao chép xin ghi rõ nguồn là fcwordpress.net
Chuyên trang về wordpress: hướng dẫn thiết kế theme, plugin, thủ thuật wordpress