Kích hoạt giao hàng miễn phí trên Woo Commerce bằng các mặt hàng cụ thể [đã đóng]


8

Tôi muốn biết liệu có thể kích hoạt giao hàng miễn phí với Woo Commerce chỉ khi một số mặt hàng (hoặc các mặt hàng thuộc danh mục / lớp vận chuyển nhất định) được bao gồm trong giỏ hàng.

Tùy chọn Giao hàng miễn phí chỉ kích hoạt trên cơ sở giá trị giỏ hàng hoặc thông qua mã phiếu giảm giá, vì vậy tôi đã điều tra vận chuyển Flat Rate và phát hiện ra rằng nó ưu tiên loại vận chuyển đắt nhất so với loại rẻ hơn. Điều này có nghĩa là lớp vận chuyển miễn phí mà tôi đã tạo không bao giờ ghi đè phí mặc định.

Tôi hiểu logic đằng sau điều này nhưng nó trái ngược với những gì tôi cần vì ý tưởng là khuyến khích mua các sản phẩm có lợi nhuận cao hơn bằng cách loại bỏ phí giao hàng khi chúng được đưa vào một đơn đặt hàng.

Tôi không biết nếu những gì tôi đang cố gắng đạt được chỉ đơn giản là không thể có trong Woo Commerce. Một phiếu giảm giá chỉ áp dụng cho một số sản phẩm / danh mục nhất định dường như là gần nhất tôi có thể nhận được nhưng tôi không muốn người dùng nhập mã khi thanh toán.

Có ai biết nếu có bất kỳ cách đơn giản hơn để cung cấp cho người dùng mua một số sản phẩm miễn phí vận chuyển?


3
Làm thế nào trên trái đất đã làm câu hỏi liên quan đến plugin Wordpress này , được nâng cấp 8 lần và được yêu thích 3 lần bởi các nhà phát triển Wordpress bị đóng cửa dưới dạng "lạc đề" Oo
Ben

@Ben vì đó là plugin WooC Commerce chứ không phải câu hỏi cụ thể về WordPress (như đã nêu trong trung tâm trợ giúp )
Alexander Holsgrove

Câu trả lời:


1

Có lẽ điều này không trả lời đầy đủ câu hỏi của bạn, nhưng plugin vận chuyển tỷ lệ bảng không cung cấp cho bạn tùy chọn đặt mức độ ưu tiên cho một tỷ lệ cụ thể. Hơn nữa, cuộc thảo luận này đưa ra rất nhiều gợi ý về nơi bạn có thể tìm kiếm giải pháp


Cảm ơn. Nhìn vào tài liệu về Vận chuyển Bảng giá, có vẻ như nó sẽ làm những gì tôi cần. Nếu chủ nhân của tôi đi xin giấy phép, tôi sẽ cập nhật về việc sử dụng nó.
James O'Neill

Vui lòng không đăng liên kết đến các tài nguyên bên ngoài. Thay vì triệu tập chúng ở đây và sử dụng liên kết trên đầu trang của nó. Nếu liên kết đi, câu trả lời là vô ích và chúng tôi đang gặp khó khăn trong việc ngăn chặn thối liên kết. -1
kaiser

5

Có ai biết nếu có bất kỳ cách đơn giản hơn để cung cấp cho người dùng mua một số sản phẩm miễn phí vận chuyển?

Trên thực tế, khi tạo một sản phẩm, bạn chỉ có thể đánh dấu nó là một sản phẩm ảo ngay trong trình chỉnh sửa sản phẩm và điều đó sẽ loại trừ việc vận chuyển hoàn toàn cho mặt hàng đó.


1
Điều này hoạt động cho các sản phẩm đơn giản, nhưng không phải cho các loại sản phẩm khác - ví dụ. Rất cố gắng nhưng. Điều này có thể sẽ làm việc cho một số người.
Alexander Lee Williams

Tại sao điều này không làm việc cho các sản phẩm biến? Bạn có thể đánh dấu từng biến thể là virtual.
BFTrick

Tôi đồng ý @BFTrick
Nathan

1
Điều này cũng không tốt vì hệ thống sẽ không truy cập vào địa chỉ GIAO HÀNG của khách hàng, điều này khá quan trọng;)
Kane

2

Đây là một đoạn được ghép từ một số Gists trong một cuộc thảo luận về vấn đề GitHub được liên kết bởi @Ewout trong một câu trả lời khác. Tôi đã thêm một var_dump(), để bạn có thể bỏ ghi chú và kiểm tra chính xác những gì bạn muốn loại bỏ.

$available_methodslà một arraytrong:

$available_methods as $method_id => $method

So sánh với $method_idnếu bạn cần kiểm tra cụ thể hơn.

// Hide standard shipping option when free shipping is available
add_filter( 'woocommerce_available_shipping_methods', 'wpse90835_hide_standard_shipping_when_free_is_available' );
/**
 *  Hide Standard Shipping option when free shipping is available
 * 
 * @param array $available_methods
 */
function wpse90835_hide_standard_shipping_when_free_is_available( $available_methods )
{
    // Developers!: Dump this to see what you can unset
    # var_dump( $available_methods );

    // remove standard shipping option
    if ( 
        isset( $available_methods['free_shipping'] ) 
        AND isset( $available_methods['flat_rate'] )
    )
        unset( $available_methods['flat_rate'] );


    return $available_methods;
}

2

Tôi đã tạo một plugin WooC Commerce cho phép người dùng định cấu hình cài đặt nâng cao để giao hàng miễn phí. Trong plugin có thể chọn một số sản phẩm miễn phí vận chuyển.

Bạn có thể tìm thấy plugin miễn phí trên wordpress.org có tên là WooC Commerce Advanced Free Shipping

Hi vọng điêu nay co ich.


0

Dựa trên mã kaiser (ở trên) tôi đã tạo mã sau:

    /**
 *  Hide free shipping option when Standard Shipping is available
 * 
 * @param array $available_methods
 */
function mwe_hide_free_shipping_when_standard_shipping_is_available($available_methods) {

    // remove standard shipping option
    if (isset($available_methods['free_shipping']) AND isset( $available_methods['flat_rate'])) {
        unset($available_methods['free_shipping']);
    }

    return $available_methods;
}
add_filter('woocommerce_available_shipping_methods', 'mwe_hide_free_shipping_when_standard_shipping_is_available');

Và trong lượt thiết lập WooC Commerce, tôi có cả Giao hàng miễn phí và Tỷ lệ căn hộ đều được bật trong Tùy chọn vận chuyển Woo. Sau đó, tôi chỉ thiết lập Lớp vận chuyển, chỉ định chi phí (ví dụ: £ 7,95) trong trang tùy chọn Tỷ lệ phẳng, sau đó chỉ cần thêm lớp vận chuyển đó vào các sản phẩm tôi muốn tính phí £ 7.95 p & p cho.


0

Tùy chọn "ảo" sẽ xóa tất cả chi phí vận chuyển, nhưng nó cũng xóa tùy chọn gửi đến một địa chỉ khác với địa chỉ thanh toán của khách hàng. Đây không phải là vấn đề nếu khách hàng mua các sản phẩm không phải là ảo khác, nhưng nếu đó là thứ duy nhất họ mua.

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.