让我说清楚。
然后我们写了一些函数,为每个产品增加2个变量,尺寸为2XL和3XL(产品是T恤),价格更高!
这些变化添加得很漂亮,但是,在前端,当我选择增加价格的尺寸时,价格不会改变,除非我转到产品编辑页面并点击更新按钮。只有这样,添加到购物车的价格才会在选择该尺寸时发生变化。
如何在不必点击每个产品的更新按钮的情况下,使价格上涨的变化反映在前端?
答案 0 :(得分:0)
也许你需要在每个变量产品上运行variable_product_sync()
?
function so_run_once(){
$variable_products = get_posts( array(
'posts_per_page'=> -1,
'post_type' => 'product',
'fields' => 'ids',
'post_status' => 'publish',
'tax_query' => array(
array(
'taxonomy' => 'product_type',
'field' => 'slug',
'terms' => 'variable',
),
)
) );
if( $variable_products ) foreach( $variable_products as $product_id ){
$_product = wc_get_product( $product_id );
$_product->variable_product_sync();
}
}
add_action( 'admin_init', 'so_run_once' );
答案 1 :(得分:0)
找到解决方案!我们不得不在插入变体后删除每个帖子的瞬态元数据。
$transient_name = 'wc_product_children_ids_' . $proudct_id;
delete_transient( $transient_name );