Woocoommerce,从变体ID获取变体名称

use*_*134 5 woocommerce

我已经使用以下内容来获取购物车中产品的变体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中获取变体名称?

hel*_*ing 9

您可以get_formatted_name()在产品对象上使用该方法.我相信该对象可能包含在$cart_items数组中,但我不是100%肯定.如果没有,那么你可以获得产品并使用它.

$variation = wc_get_product($variation_id);
$variation->get_formatted_name();
Run Code Online (Sandbox Code Playgroud)


Gfr*_*a54 5

调用该方法即可获取变体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将包含您需要的相应变体名称(对我来说它是鞋子的尺寸)


evu*_*evu 5

一旦你有了变体 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)