微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 在Woocommerce中通过变体ID获取属性slug值

我正在构建自定义产品页面,但我遇到了各种变化问题

这是我的代码

global $product;
$variations = $product->get_available_variations();

foreach($variations as $variation)
{

     $variation_id = $variation['variation_id'];

     $variation_obj = new WC_Product_variation($variation_id);

     //THIS IS PROBLEM FAIL TEST (It's exemple)
     $type = $variation_obj->get_attributes()->get_name();
     //-----

     $stock = $variation_obj->get_stock_quantity();
     $COD = $variation_obj->get_sku();
     $regularprice = $variation_obj->get_regular_price();
     $saleprice = $variation_obj->get_sale_price();
     $diff = $regularprice-$saleprice;

     echo "<p>Variation: " .$type."</p>";
     echo "<p>P.Code: " .$COD."</p>";
     echo "<p>Regular price: ".$regularprice."</p>";
     echo "<p>Sale price: ".$saleprice."</p>";
     echo "<p>Difference: ". $diff."</p>";
     echo "<p>Stock: ".$stock."</p>";
}

我想知道是否可以提取属性或变体的单个名称

或者没有完整标题的变体名称

例:
我想要“蓝色”……而不是“魔法美丽的Pouf Lumaland – 蓝色”

任何形式的帮助将不胜感激.

解决方法:

属性slug值数组包含在$variation数组中.所以试试这个:

global $product;
if($product->is_type('variable')){
    $variations = $product->get_available_variations();

    foreach($variations as $variation)
    {
        $variation_obj = wc_get_product($variation['variation_id']);

        // Variation can have many poduct attributes
        $attr_slugs = implode(', ', $variation['attributes']);

        $stock = $variation_obj->get_stock_quantity();
        $COD = $variation_obj->get_sku();
        $regularprice = $variation_obj->get_regular_price();
        $saleprice = $variation_obj->get_sale_price();
        $diff = $regularprice-$saleprice;

        echo "<p>Var Name: " .$attr_slugs."</p>";
        echo "<p>Var Name: " .$COD."</p>";
        echo "<p>regular price: ".$variation['display_regular_price']."</p>";

        echo "<p>sale price: ".$saleprice."</p>";
        echo "<p>risparmi: ". $diff."</p>";
        echo "<p>in stock: ".$stock."</p>";
    }
}

经过测试和工作.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐