2013-11-27 22 views
6

Tôi đang làm việc trên trang web này, nơi tôi được yêu cầu thêm danh sách các mặt hàng giỏ hàng vào trang thanh toán. Tôi quyết định thêm shortcodeWooCommerce Hiển thị các mục hàng trên trang thanh toán

[woocommerce_cart] 

đến trang thanh toán, phía trên

[woocommerce_checkout] 

shortcode và chỉ đơn giản là sử dụng CSS để ẩn "Tiếp tục để Checkout ->" nút trong giỏ hàng trên trang thanh toán .

Tuy nhiên, điều này đã giới thiệu một vấn đề mới. Bây giờ khi vận chuyển được chọn trên trang Thanh toán, giao hàng được đặt mặc định thành bất kỳ giao hàng nào được đặt cho giỏ hàng trên trang Giỏ hàng ... ngay cả khi giao hàng mới được chọn trên trang thanh toán.

Rõ ràng, đây không phải là cách để thêm đầu ra giỏ hàng vào trang thanh toán.

Có một mã ngắn chỉ để tự hiển thị các mục trong giỏ hàng không?

Tôi cần chỉnh sửa gì để hiển thị các mục giỏ hàng trên trang thanh toán?

Trả lời

15

Tôi sẽ trả lời câu hỏi của riêng mình, vì tôi đã giải quyết câu hỏi đó với một số mẹo bổ sung xung quanh. Hy vọng rằng nó sẽ giúp người khác sau đó xuống đường.

Tôi không tìm thấy mã ngắn để chỉ cần thêm giỏ hàng vào đầu trang thanh toán. Tôi phải chỉnh sửa trực tiếp tệp mẫu.

Vì vậy, tôi sao chép:

/wp-content/plugins/woocommerce/templates/checkout/form-checkout.php 

tới:

/wp-content/mytheme/woocommerce/checkout/form-checkout.php 

để thực hiện chỉnh sửa của tôi để tập tin trực tiếp vì vậy tôi sẽ không bị mất chúng khi WooCommerce đã được nâng cấp. sau đó tôi đã sao chép mẫu mã từ:

/wp-content/plugins/woocommerce/templates/cart/cart.php 

Và dán nó trong tập tin tôi sao chép vào thư mục chủ đề của tôi:

/wp-content/mytheme/woocommerce/checkout/form-checkout.php 

nơi tôi muốn các hình thức xuất hiện.

Có thể có nhiều cách thanh lịch hơn, nhưng điều này đã khắc phục được sự cố của tôi.

+0

Đã lưu một lượng lớn công việc :-D cảm ơn bạn rất nhiều vì điều này. – Jack

3

Bạn cũng có thể sử dụng một cái móc này

// put this in functions.php, it will produce code before the form 
add_action('woocommerce_before_checkout_form','show_cart_summary',9); 

// gets the cart template and outputs it before the form 
function show_cart_summary() { 
    wc_get_template_part('cart/cart'); 
} 

Tôi đã tạo một giỏ-part.php mẫu chứa jus bảng giỏ hàng và thay thế mã với wc_get_template_part ('giỏ/giỏ ','phần');

0

Cách dễ dàng hơn để thực hiện việc này là thêm mã sau đây vào tệp functions.php trong chủ đề con của bạn.

Bằng cách này, bạn sẽ không cần phải thêm bất kỳ mẫu nào hoặc thay đổi bất kỳ mã woocommerce cốt lõi nào.

function remove_cart_collaterals() { 
    if (is_checkout()) { 
     remove_action('woocommerce_cart_collaterals', 'woocommerce_cross_sell_display'); 
     remove_action('woocommerce_cart_collaterals', 'woocommerce_cart_totals', 10); 
    } 
} 
add_action('wp', 'remove_cart_collaterals'); 
Các vấn đề liên quan