dpwfh874876
2018-12-18 19:44
浏览 64
已采纳

在Woocommerce购物车页面中显示购物车商品的格式化产品属性[关闭]

In woocommerce I am able to display some formatted product attributes under my products on the archives pages with the following code:

add_action('woocommerce_after_shop_loop_item', 'displaying_product_attributes');
function displaying_product_attributes() {
    global $product;

   $product_driver = $product->get_attribute('pa_driver');
    $product_passenger  = $product->get_attribute('pa_passenger');

    echo "<p style='color:red;'>".$product_driver."</p>";
    echo "<p style='color:red;'>".$product_passenger."</p>";

}

How can I do the same thing on the cart items (in Woocommerce cart and checkout pages)?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongque1462 2018-12-18 20:38
    已采纳

    The following will display in cart and checkout pages your specific product attributes in default Woocommerce formatted way:

    // Display specific product attributes in cart items on cart and checkout pages
    add_filter( 'woocommerce_get_item_data', 'display_cart_item_custom_data_on_cart_and_checkout', 10, 2 );
    function display_cart_item_custom_data_on_cart_and_checkout( $cart_item_data, $cart_item ){
        foreach ( array('pa_driver', 'pa_passenger') as $taxonomy ){
            if( taxonomy_exists($taxonomy) && $cart_item['data']->get_attribute($taxonomy) ) {
                $cart_item_data[] = array(
                    'name'  => wc_attribute_label($taxonomy),
                    'value' => $cart_item['data']->get_attribute($taxonomy),
                );
            }
        }
        return $cart_item_data;
    }
    

    Code goes in function.php file of your active child theme (or active theme). Tested and works.

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题