我已经使用以下内容来获取购物车中产品的变体ID.
$cartdetails = $woocommerce->cart->get_cart();
foreach($cartdetails as $cart_items) {
$variation_id = $cart_items['variation_id']; //get variation id of product in cart
}
Run Code Online (Sandbox Code Playgroud)
我检查了数组,变体名称不是值.如何从变体ID中获取变体名称?
您可以get_formatted_name()在产品对象上使用该方法.我相信该对象可能包含在$cart_items数组中,但我不是100%肯定.如果没有,那么你可以获得产品并使用它.
$variation = wc_get_product($variation_id);
$variation->get_formatted_name();
Run Code Online (Sandbox Code Playgroud)
调用该方法即可获取变体id对应的原始值$variation->get_variation_attributes();。
$variation = wc_get_product($item['variation_id']);
$variation_attributes = $variation->get_variation_attributes();
Run Code Online (Sandbox Code Playgroud)
返回数组$variation_attributes将包含您需要的相应变体名称或值(对我来说它是鞋子的尺寸)
一旦你有了变体 slug,你就可以调用wc_attribute_label()。
假设您有权访问$product或附近的内容:
foreach ($product->get_available_variations() as $variation) {
foreach (wc_get_product($variation['variation_id'])->get_variation_attributes() as $attr) {
echo '<pre>'; var_dump(wc_attribute_label( $attr )); echo '</pre>';
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19169 次 |
| 最近记录: |