我正在这个网站上工作,我被要求在结帐页面添加购物车项目列表。我决定添加
[woocommerce_cart]
在
上方的结帐页面进行短代码[woocommerce_checkout]
短代码,只需使用CSS隐藏“继续结账 - >”结帐页面上的购物车中的按钮。
然而,这引入了一个新问题。现在,在Checkout页面上选择送货时,它默认为在Cart页面上为购物车设置的任何送货...即使在结帐页面上选择了新送货。
显然,这不是将购物车输出添加到结帐页面的方式。
是否有一个短代码只是为了显示购物车项目?
我需要编辑哪些内容才能在结帐页面上显示购物车项目?
答案 0 :(得分:16)
我将回答我自己的问题,因为我解决了一些额外的问题。希望它能在以后帮助别人。
我没有找到简短的代码,只需将购物车添加到结帐页面的顶部即可。我必须直接编辑模板文件。
所以,我复制了:
/wp-content/plugins/woocommerce/templates/checkout/form-checkout.php
为:
/wp-content/mytheme/woocommerce/checkout/form-checkout.php
直接对该文件进行编辑,以便在升级WooCommerce时不会丢失它们。然后我复制了以下表单代码:
/wp-content/plugins/woocommerce/templates/cart/cart.php
将其粘贴到我复制到主题目录的文件中:
/wp-content/mytheme/woocommerce/checkout/form-checkout.php
我希望表单出现。
可能有更优雅的方式,但这解决了我的问题。
答案 1 :(得分:3)
您也可以使用钩子
// 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' );
}
我创建了一个 cart-part.php 模板,其中包含了jus the cart表格,并用 wc_get_template_part(' cart / cart')替换了代码' part');
答案 2 :(得分:0)
更简单的方法是将以下代码添加到子主题的 functions.php 文件中。
这样您就不需要添加任何模板或更改任何核心的woocommerce代码。
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');