WooCommerce在结帐页面上显示购物车项目

Yaz*_*min 6 php wordpress shortcode woocommerce

我正在这个网站上工作,我被要求在结帐页面添加购物车项目列表.我决定添加

[woocommerce_cart] 
Run Code Online (Sandbox Code Playgroud)

短信代码到结帐页面上方

[woocommerce_checkout]
Run Code Online (Sandbox Code Playgroud)

短代码,只需使用CSS隐藏结帐页面上购物车中的"继续结帐 - >"按钮.

但是,这引入了一个新问题.现在,当在Checkout页面上选择装运时,它默认为在Cart页面上为购物车设置的任何装运...即使在结帐页面上选择了新装运.

显然,这不是将购物车输出添加到结帐页面的方法.

是否有一个短代码只是为了显示购物车物品本身?

我需要编辑什么才能在结帐页面上显示购物车项目?

Yaz*_*min 16

我将回答我自己的问题,因为我解决了一些额外的问题.希望它能在以后帮助别人.

我没有找到简短的代码,只需将购物车添加到结帐页面的顶部即可.我必须直接编辑模板文件.

所以,我复制了:

/wp-content/plugins/woocommerce/templates/checkout/form-checkout.php
Run Code Online (Sandbox Code Playgroud)

至:

/wp-content/mytheme/woocommerce/checkout/form-checkout.php
Run Code Online (Sandbox Code Playgroud)

直接对该文件进行编辑,以便在升级WooCommerce时不会丢失它们.然后我复制了以下表单代码:

/wp-content/plugins/woocommerce/templates/cart/cart.php
Run Code Online (Sandbox Code Playgroud)

并将其粘贴到我复制到我的主题目录的文件中:

/wp-content/mytheme/woocommerce/checkout/form-checkout.php
Run Code Online (Sandbox Code Playgroud)

在哪里我希望表单出现.

可能有更优雅的方式,但这解决了我的问题.


ada*_*dam 5

您也可以为此使用钩子

// 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' );
}
Run Code Online (Sandbox Code Playgroud)

我创建了一个包含购物车表的cart-part.php模板,并用wc_get_template_part( 'cart/cart','part' );替换了代码