wordpress 更新变化产品价格-在产品页面不可见- Woocommerce

xam8gpfp  于 2022-11-22  发布在  WordPress
关注(0)|答案(2)|浏览(259)

我已经做了自定义导入产品是可变类型。然后我已经做了一个文件,必须更新变化产品的价格。我正在使用update_post_ meta方法。值出现在编辑产品页面的字段中的每个变化,但它似乎没有更新价格在首页的产品。
我必须在管理面板中更新产品(通过单击更新按钮),以使用新的价格。
我已经尝试使用$product-〉variable_product_sync();但好像不管用,有什么想法吗
代码示例:

foreach ($variations as $variationProduct) { 
   $variationProductId =  $variationProduct["variation_id"];
   $productPrice = number_format($productPrice, 2, '.', '');
   update_post_meta( $variationProductId, '_regular_price', $productPrice);
}

对此有什么帮助或解决方案吗?

fumotvh3

fumotvh31#

解决了!!最后我通过woocommerce api找到了它。如果你正在使用woocommerce 2. 7或更高版本,你可以使用下面的行:

$product->save();
blmhpbnm

blmhpbnm2#

请使用以下脚本更新变化价格。单击此处获取完整代码。https://www.pearlbells.co.uk/bulk-update-product-variation-price-woocommerce/

function getExistingProducts($updatedPrices,$skuArray) {

$loop = new WP_Query(array('post_type' => array('product', 'product_variation'), 'posts_per_page' => -1));

while ($loop->have_posts()) : $loop->the_post();

    $id = get_the_ID();
    $product = wc_get_product( $id );
    $sku = get_post_meta($id, '_sku', true);

    if( in_array( $sku, $skuArray  ) ) {

        $attributes = $product->get_attributes();
        $attributes['medium-quantity-price']['value'] = $updatedPrices[$sku][4];
        $attributes['low-quantity-price']['value'] = $updatedPrices[$sku][3];
     $attributes['v-low-quantity-price']['value'] = $updatedPrices[$sku][2];
        update_post_meta( $id,'_product_attributes',$attributes);
        echo ' Update Sku : '.$sku.' '.PHP_EOL;

    }

endwhile;

}

相关问题