Tôi đã thiết lập WooC Commerce tốt nhất có thể và mọi thứ dường như đang hoạt động tốt ngoại trừ thực tế là khi bạn thanh toán, bạn chỉ có thể nhập địa chỉ thanh toán. Không có chỗ để nhập địa chỉ giao hàng, do trang web của chúng tôi dành cho việc tặng quà thực sự quan trọng
Tôi đã thử mọi cách chuyển đổi mà tôi có thể nghĩ ra nhưng trang thanh toán chỉ hiển thị phần “Chi tiết thanh toán” và “Thông tin bổ sung”
Trang tôi cần trợ giúp. [đăng nhập để thấy link]
Đang xem 3 trả lời - 1 đến 3 [trong tổng số 3]
Hỗ trợ plugin Tomasz WP Desk
[@tomaszwp]
Xin chào @revschaef,
Tôi đoán rằng tất cả các sản phẩm được thiết lập là ảo. Sản phẩm ảo không được vận chuyển nên phần Vận chuyển bị tắt
Vui lòng bỏ chọn tùy chọn này trong phần cài đặt của từng sản phẩmNếu sản phẩm không phải ảo – vui lòng truy cập WooC Commerce > Cài đặt > Giao hàng > Tùy chọn giao hàng và đảm bảo Điểm đến giao hàng được đặt thành Mặc định cho địa chỉ giao hàng của khách hàng hoặc Mặc định cho địa chỉ thanh toán của khách hàng
Người bắt đầu chủ đề Đánh dấu Schaefer
[@revschaef]
Điều này cực kỳ hữu ích và việc tắt chuyển đổi sản phẩm ảo đã giải quyết được vấn đề. Cảm ơn bạn
Có hai loại trường trong WooC Commerce – trường thanh toán và giao hàng [xin lỗi vì quá rõ ràng]. Một số trường được trình bày trong cả hai danh mục này, chẳng hạn như trường tên hoặc trường quốc gia. Một số – có thể chỉ xuất hiện ở một trong các danh mục, như điện thoại hoặc email
Và bây giờ đọc kỹ
- Chúng tôi có thể thực hiện các thay đổi trong các trường bằng hook
woocommerce_default_address_fields
– trong trường hợp này, các thay đổi sẽ ảnh hưởng đến mọi thứ – cả chỉnh sửa các trang trường thanh toán và giao hàng trong “Tài khoản của tôi” cũng như trang Thanh toán woocommerce_shipping_fields
– giống nhau, nhưng chỉ ảnh hưởng đến các lĩnh vực vận chuyển
0 – giống nhau, nhưng chỉ ảnh hưởng đến các trường thanh toánadd_filter[ 'woocommerce_billing_fields', 'misha_remove_billing_fields' ]; function misha_remove_billing_fields[ $fields ] { unset[ $fields[ 'billing_address_2' ] ]; // or shipping_address_2 for woocommerce_shipping_fields hook unset[ $fields[ 'billing_state' ] ]; return $fields; }
1 – chỉ ảnh hưởng đến trang thanh toán, không ảnh hưởng gì khác, hook này đã được mô tả chi tiết trong một hướng dẫn riêngadd_filter[ 'woocommerce_billing_fields', 'misha_remove_billing_fields' ]; function misha_remove_billing_fields[ $fields ] { unset[ $fields[ 'billing_address_2' ] ]; // or shipping_address_2 for woocommerce_shipping_fields hook unset[ $fields[ 'billing_state' ] ]; return $fields; }
Xóa các trường thanh toán và vận chuyển mặc định
Dễ dàng như
add_filter[ 'woocommerce_default_address_fields', 'misha_remove_fields' ]; function misha_remove_fields[ $fields ] { unset[ $fields[ 'address_2' ] ]; unset[ $fields[ 'state' ] ]; return $fields; }
ID trường là
2,add_filter[ 'woocommerce_billing_fields', 'misha_remove_billing_fields' ]; function misha_remove_billing_fields[ $fields ] { unset[ $fields[ 'billing_address_2' ] ]; // or shipping_address_2 for woocommerce_shipping_fields hook unset[ $fields[ 'billing_state' ] ]; return $fields; }
3,add_filter[ 'woocommerce_billing_fields', 'misha_remove_billing_fields' ]; function misha_remove_billing_fields[ $fields ] { unset[ $fields[ 'billing_address_2' ] ]; // or shipping_address_2 for woocommerce_shipping_fields hook unset[ $fields[ 'billing_state' ] ]; return $fields; }
4,add_filter[ 'woocommerce_billing_fields', 'misha_remove_billing_fields' ]; function misha_remove_billing_fields[ $fields ] { unset[ $fields[ 'billing_address_2' ] ]; // or shipping_address_2 for woocommerce_shipping_fields hook unset[ $fields[ 'billing_state' ] ]; return $fields; }
5,add_filter[ 'woocommerce_billing_fields', 'misha_remove_billing_fields' ]; function misha_remove_billing_fields[ $fields ] { unset[ $fields[ 'billing_address_2' ] ]; // or shipping_address_2 for woocommerce_shipping_fields hook unset[ $fields[ 'billing_state' ] ]; return $fields; }
6,add_filter[ 'woocommerce_billing_fields', 'misha_remove_billing_fields' ]; function misha_remove_billing_fields[ $fields ] { unset[ $fields[ 'billing_address_2' ] ]; // or shipping_address_2 for woocommerce_shipping_fields hook unset[ $fields[ 'billing_state' ] ]; return $fields; }
7,add_filter[ 'woocommerce_billing_fields', 'misha_remove_billing_fields' ]; function misha_remove_billing_fields[ $fields ] { unset[ $fields[ 'billing_address_2' ] ]; // or shipping_address_2 for woocommerce_shipping_fields hook unset[ $fields[ 'billing_state' ] ]; return $fields; }
8,add_filter[ 'woocommerce_billing_fields', 'misha_remove_billing_fields' ]; function misha_remove_billing_fields[ $fields ] { unset[ $fields[ 'billing_address_2' ] ]; // or shipping_address_2 for woocommerce_shipping_fields hook unset[ $fields[ 'billing_state' ] ]; return $fields; }
9,add_filter[ 'woocommerce_billing_fields', 'misha_remove_billing_fields' ]; function misha_remove_billing_fields[ $fields ] { unset[ $fields[ 'billing_address_2' ] ]; // or shipping_address_2 for woocommerce_shipping_fields hook unset[ $fields[ 'billing_state' ] ]; return $fields; }
0add_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ]; function misha_remove_fields[ $fields ] { unset[ $fields[ 'shipping_last_name' ][ 'required' ] ]; return $fields; }
Nhưng xin lưu ý rằng nếu bạn đang sử dụng móc lọc
woocommerce_shipping_fields
hoặc
0, thì phải thêm một tiền tố thích hợp [add_filter[ 'woocommerce_billing_fields', 'misha_remove_billing_fields' ]; function misha_remove_billing_fields[ $fields ] { unset[ $fields[ 'billing_address_2' ] ]; // or shipping_address_2 for woocommerce_shipping_fields hook unset[ $fields[ 'billing_state' ] ]; return $fields; }
3 hoặcadd_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ]; function misha_remove_fields[ $fields ] { unset[ $fields[ 'shipping_last_name' ][ 'required' ] ]; return $fields; }
4] vào ID trường, ví dụadd_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ]; function misha_remove_fields[ $fields ] { unset[ $fields[ 'shipping_last_name' ][ 'required' ] ]; return $fields; }
add_filter[ 'woocommerce_billing_fields', 'misha_remove_billing_fields' ]; function misha_remove_billing_fields[ $fields ] { unset[ $fields[ 'billing_address_2' ] ]; // or shipping_address_2 for woocommerce_shipping_fields hook unset[ $fields[ 'billing_state' ] ]; return $fields; }
Tắt xác thực trường
Trong trường hợp này, bạn không phải xóa toàn bộ trường mà chỉ xóa một thuộc tính nhất định của nó [
5]add_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ]; function misha_remove_fields[ $fields ] { unset[ $fields[ 'shipping_last_name' ][ 'required' ] ]; return $fields; }
Ví dụ về việc tạo tùy chọn trường họ vận chuyển
add_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ]; function misha_remove_fields[ $fields ] { unset[ $fields[ 'shipping_last_name' ][ 'required' ] ]; return $fields; }
chúng ta đi đây
Bạn cũng có thể sử dụng
woocommerce_default_address_fields
nếu bạn muốn đặt trường họ là tùy chọn cho cả nhóm trường thanh toán và vận chuyểnMặt khác, nếu bạn muốn tạo một trường bắt buộc, chỉ cần đặt thuộc tính
5 thànhadd_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ]; function misha_remove_fields[ $fields ] { unset[ $fields[ 'shipping_last_name' ][ 'required' ] ]; return $fields; }
8, như thế nàyadd_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ]; function misha_remove_fields[ $fields ] { unset[ $fields[ 'shipping_last_name' ][ 'required' ] ]; return $fields; }
$fields[ 'shipping_company' ][ 'required' ] = true;
Làm cách nào để thay đổi các trường địa chỉ mặc định?
Trong tôi đã giải thích cách làm cho bất kỳ trường mặc định nào là tùy chọn hoặc bắt buộc. Nhưng
5 không phải là tham số trường duy nhất chúng ta có thể thay đổi. Đây là danh sáchadd_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ]; function misha_remove_fields[ $fields ] { unset[ $fields[ 'shipping_last_name' ][ 'required' ] ]; return $fields; }
0 [chuỗi]$fields[ 'shipping_company' ][ 'required' ] = true;
1 [chuỗi]$fields[ 'shipping_company' ][ 'required' ] = true;
2 [mảng]$fields[ 'shipping_company' ][ 'required' ] = true;
3 [số nguyên]$fields[ 'shipping_company' ][ 'required' ] = true;
Bất kỳ tham số nào trong số này có thể được thay đổi. Ví dụ: hãy thử thực hiện các thay đổi trong cả hai trường tên thanh toán và giao hàng
add_filter[ 'woocommerce_default_address_fields', 'misha_change_fname_field' ]; function misha_change_fname_field[ $fields ] { $fields[ 'first_name' ][ 'label' ] = 'Name'; $fields[ 'first_name' ][ 'placeholder' ] = 'What is your name, friend?'; return $fields; }
Đây là kết quả
Các ví dụ khác bạn có thể tìm thấy trong hướng dẫn của tôi về các trường thanh toán WooC Commerce. Vâng, chúng tôi làm việc với
1 móc hành động ở đó nhưng nó rất giống nhauadd_filter[ 'woocommerce_billing_fields', 'misha_remove_billing_fields' ]; function misha_remove_billing_fields[ $fields ] { unset[ $fields[ 'billing_address_2' ] ]; // or shipping_address_2 for woocommerce_shipping_fields hook unset[ $fields[ 'billing_state' ] ]; return $fields; }
Tạo trường địa chỉ tùy chỉnh của bạn
Tạo một trường địa chỉ dễ dàng hơn nhiều so với hoặc
Bạn thậm chí không phải sử dụng chức năng woocommerce_form_field[]
Không, thực sự, tất cả chỉ là làm việc với một mảng
add_filter[ 'woocommerce_default_address_fields', 'misha_add_field' ]; function misha_add_field[ $fields ] { $fields[ 'fav_color' ] = array[ 'label' => 'Favorite color', 'required' => true, 'class' => array[ 'form-row-wide', 'my-custom-class' ], 'priority' => 20, 'placeholder' => 'Is it black or orange or maybe green?', ]; return $fields; }
Hãy ghi nhớ một số điều
Nếu bạn định sử dụng móc
woocommerce_shipping_fields
hoặc
0, đừng quên tiền tố trườngadd_filter[ 'woocommerce_billing_fields', 'misha_remove_billing_fields' ]; function misha_remove_billing_fields[ $fields ] { unset[ $fields[ 'billing_address_2' ] ]; // or shipping_address_2 for woocommerce_shipping_fields hook unset[ $fields[ 'billing_state' ] ]; return $fields; }
4 hoặcadd_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ]; function misha_remove_fields[ $fields ] { unset[ $fields[ 'shipping_last_name' ][ 'required' ] ]; return $fields; }
3 trên dòng 4. Tôi nghĩ rằng mọi thứ sẽ ổn ngay cả khi không có tiền tố ở đây, nhưng hãy làm mọi thứ một cách chính xácadd_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ]; function misha_remove_fields[ $fields ] { unset[ $fields[ 'shipping_last_name' ][ 'required' ] ]; return $fields; }
$fields[ 'billing_fav_color' ] = array[
Bạn có thể đoán rằng nó cũng là một khóa meta về cách trường này sẽ được lưu trữ trong cơ sở dữ liệu trong bảng
9$fields[ 'shipping_company' ][ 'required' ] = true;
Đôi lời về các lớp CSS
0 – trường toàn chiều rộng,add_filter[ 'woocommerce_default_address_fields', 'misha_change_fname_field' ]; function misha_change_fname_field[ $fields ] { $fields[ 'first_name' ][ 'label' ] = 'Name'; $fields[ 'first_name' ][ 'placeholder' ] = 'What is your name, friend?'; return $fields; }
1 – Trường 2 cột, cột đầu tiên,add_filter[ 'woocommerce_default_address_fields', 'misha_change_fname_field' ]; function misha_change_fname_field[ $fields ] { $fields[ 'first_name' ][ 'label' ] = 'Name'; $fields[ 'first_name' ][ 'placeholder' ] = 'What is your name, friend?'; return $fields; }
2 – trường 2 cột, cột thứ hai;add_filter[ 'woocommerce_default_address_fields', 'misha_change_fname_field' ]; function misha_change_fname_field[ $fields ] { $fields[ 'first_name' ][ 'label' ] = 'Name'; $fields[ 'first_name' ][ 'placeholder' ] = 'What is your name, friend?'; return $fields; }
Bạn có thể tự chơi với tham số
3, ví dụ: tôi đặt 20 đặt trường của tôi dưới trường Tên và Họ$fields[ 'shipping_company' ][ 'required' ] = true;
Điều thú vị là nó sẽ xuất hiện và cũng sẽ có đầy đủ chức năng trên trang thanh toán WooC Commerce
Làm cách nào để thêm trường vào trang WordPress /wp-admin/ Chỉnh sửa hồ sơ?
Được rồi, trường của chúng tôi hiện được hiển thị trên các trang Chỉnh sửa Địa chỉ trong “Tài khoản của tôi” và trong trang Thanh toán. Nhưng còn quản trị viên WordPress thì sao?
Tin tốt là bạn không phải sử dụng móc
4 vàadd_filter[ 'woocommerce_default_address_fields', 'misha_change_fname_field' ]; function misha_change_fname_field[ $fields ] { $fields[ 'first_name' ][ 'label' ] = 'Name'; $fields[ 'first_name' ][ 'placeholder' ] = 'What is your name, friend?'; return $fields; }
5. 🎉add_filter[ 'woocommerce_default_address_fields', 'misha_change_fname_field' ]; function misha_change_fname_field[ $fields ] { $fields[ 'first_name' ][ 'label' ] = 'Name'; $fields[ 'first_name' ][ 'placeholder' ] = 'What is your name, friend?'; return $fields; }
Có một móc đặc biệt cho điều đó
add_filter[ 'woocommerce_customer_meta_fields', 'misha_admin_address_field' ]; function misha_admin_address_field[ $admin_fields ] { $admin_fields[ 'billing' ][ 'fields' ][ 'billing_fav_color' ] = array[ 'label' => 'Fav color', 'description' => 'Some field description will go here', ]; // or $admin_fields[ 'shipping' ][ 'fields' ][ 'shipping_fav_color' ] // or both return $admin_fields; }
Chỉ có hai tham số có sẵn ở đây –
0 và$fields[ 'shipping_company' ][ 'required' ] = true;
7 và thực sự chúng tôi không cần bất kỳ thứ gì khác. Chỉ cần đảm bảo rằng tên trường đó [dòng 5] khớp vớiadd_filter[ 'woocommerce_default_address_fields', 'misha_change_fname_field' ]; function misha_change_fname_field[ $fields ] { $fields[ 'first_name' ][ 'label' ] = 'Name'; $fields[ 'first_name' ][ 'placeholder' ] = 'What is your name, friend?'; return $fields; }
Nếu bạn cũng muốn thêm trường của mình trên các trang đặt hàng chỉnh sửa trong quản trị viên WordPress, hãy đọc cách thực hiện tại đây
# WooC Commerce, Trường thanh toán, Tài khoản của tôi
Misha Rudrastyh
Chào các bạn và chào mừng đến với trang web của tôi. Trong hơn 10 năm, tôi đã cố gắng hết sức để chia sẻ miễn phí với bạn một số hướng dẫn và mẹo tuyệt vời về WordPress
Làm cách nào để thêm các trường địa chỉ giao hàng trong trang thanh toán WooC Commerce?
Thật may là việc thêm phần địa chỉ giao hàng rất nhanh chóng và dễ dàng. .Từ quản trị viên WordPress của bạn, hãy di chuột qua WooC Commerce trong thanh bên và sau đó nhấp vào cài đặtNhấp vào tab vận chuyển và sau đó nhấp vào 'thêm khu vực vận chuyển'Nhập tên khu vực, các khu vực mà khu vực này sẽ bao gồm và các loại phương thức vận chuyển bạn sẽ cung cấpĐịa chỉ thanh toán trong thanh toán là gì?
Địa chỉ giao hàng tính toán chi phí vận chuyển và giao sản phẩm cho khách hàng. Địa chỉ thanh toán xác minh rằng khách hàng là người dùng được ủy quyền của thẻ tín dụng mua hàng .Địa chỉ giao hàng và địa chỉ thanh toán của bạn có cần phải khớp không?
Để xác minh thẻ tín dụng, bạn phải nhập địa chỉ thanh toán chính xác như địa chỉ xuất hiện trên bảng sao kê thẻ tín dụng của bạn. Tuy nhiên, địa chỉ giao hàng không cần khớp với địa chỉ thanh toán hoặc địa chỉ thẻ tín dụng của bạn .- Chúng tôi có thể thực hiện các thay đổi trong các trường bằng hook