Thương mại điện tử Thêm sản phẩm biến thể vào giỏ hàng từ liên kết tùy chỉnh [đã đóng]


15

Tôi đang cố gắng thêm một sản phẩm biến thể vào giỏ hàng của tôi trực tiếp thông qua một liên kết. Tôi đang thiết lập biến thể với chuỗi truy vấn. Theo như tôi có thể nói rằng tôi đang gửi dữ liệu theo cách chính xác giống như mẫu sản phẩm biến thể mặc định.

Đây là mã bên trong trang sản phẩm duy nhất của tôi:

<a href="<?php echo esc_url( $product->add_to_cart_url() ); ?>&variation_id=262" class="rounded-rect-button add-to-cart">Add to Cart</a>

Ngược lại, sản phẩm đơn giản hoạt động tốt. Tôi đã đặt giá cho các biến thể sản phẩm của mình trong quản trị viên. Không chắc chắn tại sao nó không đơn giản như gửi dữ liệu qua. Bất kỳ trợ giúp sẽ đánh giá rất cao.

Câu trả lời:


10

Tôi hiện đang làm việc trên một cửa hàng thương mại điện tử v2.1.12 và có vẻ như họ đã tán thành hành vi đó.

url ajax của tôi để thêm các mục vào giỏ hàng phải giống như thế này:

?add-to-cart=[PRODUCT-ID]&variation_id=[VARIATION-ID]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG]

thí dụ:

http://example.com/store/category/product/?add-to-cart=239&variation_id=240&attribute_pa_size=48-2&attribute_pa_color=gold

điều này thêm một sản phẩm cụ thể vào giỏ hàng và cũng đặt các thuộc tính biến thể trong giỏ hàng. bạn thậm chí có thể đặt số lượng bằng cách thêm&quantity=[VALUE]

cuối cùng, điều này có ích vì tất cả các giá trị này được đặt bên trong trường gửi biểu mẫu / chọn, bạn chỉ cần tìm kiếm chúng ..


2
Ghi chú nhanh - kiểm tra các trường chọn biến thể cho tên thuộc tính phù hợp. Nó thường sử dụng dấu gạch nối, do đó bạn nhận được: & property_my-property-name = value
Ý tưởng bắt buộc

9

Hình này ra. Tôi đã thiếu một vài thông số cần thiết để thêm một sản phẩm biến vào giỏ hàng của tôi. Các thông số còn thiếu là variation_idvà loại thuộc tính mà variation_idtham chiếu đến. Có thể tìm thấy id biến thể trong các sản phẩm của quản trị viên> woocomerce> và trong tab biến thể bên cạnh biến thể sản phẩm bạn đã tạo.

Param thuộc tính được hình thành từ tiền tố attribute_và sau đó là tên thuộc tính được khử trùng. Ví dụ: thuộc tính của tôi được gọi là Stock Colors, vì vậy, loại thuộc tính param của tôi là property_stock-colors. Từ những gì tôi có thể nói, bạn chỉ cần đặt attribute_stock-colors=1vì phương thức add to cart chỉ cần kiểm tra xem nó có tồn tại không.

Đây là một ví dụ đơn giản về liên kết thêm sản phẩm vào giỏ hàng của tôi với id biến thể 261 màu chứng khoán:

<a href="<?php echo esc_url( $product->add_to_cart_url() ); ?>&variation_id=261&attribute_stock-colors=1">Add to Cart</a>

Để sử dụng điều này trong một tình huống thực tế, bạn cần phải tự động đặt loại thuộc tính và id biến thể từ các tùy chọn mà người dùng đã chọn thả xuống hoặc một cái gì đó tương tự (trừ khi mọi sản phẩm có cùng một biến thể, về cơ bản sẽ biến nó thành một sản phẩm simpel ).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.