php – WooCommerce – 为购物车中的产品选择变体

你好,

任何人请帮我找到解决方案.

我的客户有批发业务,他不需要woocommerce结账功能.他需要购物车的woocommerce功能,但他不想结账,他想要一个“下订单”按钮.

现在,一切正常,订单正确,订单存储到数据库并邮寄到管理员,但问题是我想存储变化,我的问题是如何获得选定的变化(如果有的话)产品内部的functions.PHP产品已经在购物车中?

任何提示都将非常感激.

希望我能正确理解您的查询.

您是说要获取产品的变化详细信息(如果有),这些信息位于购物车中.

购物车包含许多物品.你可以循环使用物品和可以获得每个项目的变化细节.

购物车项目是关联数组&您可以在$item [‘product_id’]&中找到产品ID $item [‘variation_id’]中的变体ID

请使用以下功能&传递变异ID以获取变化细节:

function get_variation_data_from_variation_id( $item_id ) {
    $_product = new WC_Product_Variation( $item_id );
    $variation_data = $_product->get_variation_attributes();
    $variation_detail = woocommerce_get_formatted_variation( $variation_data,true );  // this will give all variation detail in one line
    // $variation_detail = woocommerce_get_formatted_variation( $variation_data,false);  // this will give all variation detail one by one
    return $variation_detail; // $variation_detail will return string containing variation detail which can be used to print on website
    // return $variation_data; // $variation_data will return only the data which can be used to store variation data
}

现在让我们看看如何使用这个功能

$item_id = ( !empty( $cart_item['variation_id'] ) ) ? $cart_item['variation_id'] : '';
if ( !empty( $item_id ) ) {
   $variations = get_variation_data_from_variation_id( $item_id );
}

希望它会有用.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...