有860多种产品有不同的变化。任务是允许用户批量编辑"用于变体"某些属性的字段。例如,我们还有变体所需的尺寸,性别,但我们也有材料,仅限过滤器需要,因此删除此属性不是解决方案。
答案 0 :(得分:0)
完全没有经过测试,并且如果您有很多产品可能会超时,并不是特别理想,但理论上您可以遍历所有变量产品并更新_product_attributes
元值。我强烈建议您进行数据备份和/或这是一个临时站点。
function so_41978670_run_once(){
$args = array(
'post_type' => 'product',
'posts_per_page' => -1
'tax_query' => array(
array(
'taxonomy' => 'post_type',
'field' => 'slug',
'terms' => 'variable',
),
),
);
$products = new WP_Query( $args );
if( $products->have_posts() ){
while ( $products->have_posts() ) {
$products->the_post();
$product_id = get_the_ID();
$product = wc_get_product( $product_id );
$attributes = $product->get_attributes();
$meta_values = array();
if ( $attributes ) {
foreach ( $attributes as $attribute_key => $attribute ) {
if( in_array( $attribute_key, array( 'size', 'gender' ) ) ){
// Modify the attributes meta.
$attributes[ $attribute_key ]['is_variation'] = 1;
}
}
}
update_post_meta( $product->get_id(), '_product_attributes', $attributes );
}
wp_reset_postdata();
}
}