2017-04-06 10 views
1

나는 변수 유형 인 맞춤형 가져 오기 제품을 만들었습니다. 그런 다음 대안 제품 가격을 업데이트해야하는 파일을 만들었습니다. update_post_meta 메소드를 사용하고 있습니다. 값은 각 유사 페이지의 제품 수정 페이지에 표시되지만 제품 첫 페이지의 가격을 업데이트하는 것처럼 보이지는 않습니다.유사 제품 업데이트 가격 - 제품 페이지에 표시되지 않음 - Woocommerce

새로운 가격으로 작업하려면 관리자 패널에서 업데이트 버튼을 클릭하여 업데이트 제품을 만들어야합니다.

나는 $ product-> variable_product_sync();를 사용해 보았습니다. 그러나 그것은 작동하지 않는 것 같았다. 어떤 아이디어? 내 코드의

샘플 :

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

이에 어떤 도움 또는 솔루션?

답변

1

해결되었습니다. 마지막으로 나는 woocommerce api를 통해 그것을 발견했다.

$product->save(); 
0

변화 가격을 업데이트하려면 다음 스크립트를 사용하십시오 : 당신이 woocommerce 2.7 이상을 사용하는 경우에는 다음 줄을 사용할 수 있습니다. 전체 코드를 보려면 여기를 클릭하십시오. 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; 

}