Cách thêm địa chỉ giao hàng trong trang thanh toán WooC Commerce

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ẩm

    Nế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
    • 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;
      }
      0 – giống nhau, nhưng chỉ ảnh hưởng đến các trường thanh toán
    • 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;
      }
      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êng

    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à

    • 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;
      }
      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_shipping_fields', 'misha_remove_fields' ];
      function misha_remove_fields[ $fields ] {
      	unset[ $fields[ 'shipping_last_name' ][ 'required' ] ];
      	return $fields;
      }
      0

    Nhưng xin lưu ý rằng nếu bạn đang sử dụng móc lọc woocommerce_shipping_fields hoặc

    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;
    }
    0, thì phải thêm một tiền tố thích hợp [
    add_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ];
    function misha_remove_fields[ $fields ] {
    	unset[ $fields[ 'shipping_last_name' ][ 'required' ] ];
    	return $fields;
    }
    3 hoặc
    add_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_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ó [

    add_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ];
    function misha_remove_fields[ $fields ] {
    	unset[ $fields[ 'shipping_last_name' ][ 'required' ] ];
    	return $fields;
    }
    5]

    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ển

    Mặ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

    add_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ];
    function misha_remove_fields[ $fields ] {
    	unset[ $fields[ 'shipping_last_name' ][ 'required' ] ];
    	return $fields;
    }
    5 thành
    add_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ];
    function misha_remove_fields[ $fields ] {
    	unset[ $fields[ 'shipping_last_name' ][ 'required' ] ];
    	return $fields;
    }
    8, như thế này

    $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

    add_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ];
    function misha_remove_fields[ $fields ] {
    	unset[ $fields[ 'shipping_last_name' ][ 'required' ] ];
    	return $fields;
    }
    5 không phải là tham số trường duy nhất chúng ta có thể thay đổi. Đây là danh sách

    • $fields[ 'shipping_company' ][ 'required' ] = true;
      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]

    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

    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;
    }
    1 móc hành động ở đó nhưng nó rất giống nhau

    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

    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;
    }
    0, đừng quên tiền tố trường
    add_filter[ 'woocommerce_shipping_fields', 'misha_remove_fields' ];
    function misha_remove_fields[ $fields ] {
    	unset[ $fields[ 'shipping_last_name' ][ 'required' ] ];
    	return $fields;
    }
    4 hoặc
    add_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ác

    $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

    $fields[ 'shipping_company' ][ 'required' ] = true;
    9

    Đôi lời về các lớp CSS

    • 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;
      	
      }
      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;

    Bạn có thể tự chơi với tham số

    $fields[ 'shipping_company' ][ 'required' ] = true;
    3, ví dụ: tôi đặt 20 đặt trường của tôi dưới trường Tên và Họ

    Đ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

    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;
    	
    }
    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. 🎉

    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 –

    $fields[ 'shipping_company' ][ 'required' ] = true;
    0 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;
    	
    }
    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ới

    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 đặt
    Nhấ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ủ Đề