在 WooCommerce 购物车页面上添加带有产品编号的列

Add column with product numbering on WooCommerce cart page

我正在尝试向 WooCommerce 购物车页面的每一行添加数字,但我无法让它工作甚至无法显示。

我当前的代码:

add_action( 'woocommerce_before_add_to_cart_quantity', 'quadlayers_woocommerce_hooks');
function quadlayers_woocommerce_hooks() {
global $woocommerce;
    for ($x = 1; $x <= 0; $x++)
{
    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {

   //$product = $cart_item['data'];
   $product_id = $cart_item['product_id'];
   
}
}
    echo $x;
}

应该是这样的:

关于如何实现这一点有什么建议吗?

您想要的调整无法通过挂钩实现,为此您必须覆盖 /cart/cart.php 文件。

  • 可以通过将此模板复制到 yourtheme/woocommerce/cart/cart.php.
  • 来覆盖该模板
  • 这些调整是为版本号为@version 3.8.0
  • 的模板文件提供的
  • CSS 可能需要根据您使用的主题进行调整

替换第 28 - 29 行

<th class="product-remove">&nbsp;</th>
<th class="product-thumbnail">&nbsp;</th>

<th class="product-remove">&nbsp;</th>
<th class="product-number">&nbsp;</th>
<th class="product-thumbnail">&nbsp;</th>

替换第 39 - 40 行

<?php
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {

<?php
// Counter
$i = 1;
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {

替换第 65 行

<td class="product-thumbnail">

<td class="product-number">
    <?php
    echo $i;
    $i++;
    ?>
</td>

<td class="product-thumbnail">

结果: