将自定义属性添加到产品的HTMLto WooCommerce购物车页面

时间:2018-12-13 作者:Eli Nathan

我正在尝试添加data-attribute 至WooCommerce的购物车页面。

cart页面填充一个表,其中每一行都是已添加到cart的产品。

我可以在HTML中为此行添加数据属性,如下所示:

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

<?php
  // For each item in cart
  foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {

    // Get product
    $_product   = apply_filters( \'woocommerce_cart_item_product\', $cart_item[\'data\'], $cart_item, $cart_item_key );

    // Get custom attribute
    $foobar = $_product->get_attribute( \'myCustomAttribute\' );
    $foobar == true ? $foo = "true" : $foo = "false";
    ?>

    // Add table row with custom attribute as a data attribute
    <tr data-foo=<?php echo "$foo"; ?>>...Content in here</tr>
  <?php 
  }
我知道这是一种糟糕的做法,因为插件更新后会被覆盖。

我正在尝试将相同的功能添加到模板的功能中。php文件,但在查看WooCommerce支持文档后,我看不到任何有帮助的内容。

有什么想法吗?

1 个回复
SO网友:RiddleMeThis

您希望覆盖该文件,而不是直接编辑它。

How to Edit Files

使用覆盖以升级安全的方式编辑文件。将模板复制到主题中名为/woocommerce的目录中,保持相同的文件结构,但删除/templates/子目录。

Example: 覆盖购物车。php文件。。。

copy:wp内容/插件/woocommerce/模板/购物车/购物车。php

to wp内容/主题/yourtheme/woocommerce/购物车/购物车。php

复制的文件现在将覆盖WooCommerce默认模板文件。在新文件中进行更新。

这里是more detailed information.