我有一张从我的客户后端库存系统中导出的工作表。它包括销售价格和零售价格。问题是销售价格,如果没有价格,则使用“ 0”作为值,这反过来意味着当产品更新运行时,产品实际上是免费的
我从这里尝试了一些选择。这个似乎效果最好
add_action('woocommerce_before_single_product','check_sale_price',40 );
function check_sale_price() {
global $product;
if ( $product->sale_price == '0' ) {
$price = $product->regular_price;
$product->sale_price = $price;
$product->price = $price;
global $wpdb;
$wpdb->get_results( 'UPDATE wp_postmeta SET meta_value='.$price.' WHERE meta_key="_sale_price" AND post_id='.$product->id,OBJECT );
$wpdb->get_results( 'UPDATE wp_postmeta SET meta_value='.$price.' WHERE meta_key="_price" AND post_id='.$product->id,OBJECT );
}
}
但这并没有更新我所有可变产品,而是仅更新简单产品
如果此代码还可以更新产品变化中产品价格为“ 0”的产品,并且在这里有人可以帮助我,那将是非常棒的