使用WpAllImport导入产品时,我们所有产品都存储为可变产品,即使它们没有任何变化。我们需要将它们存储为单个产品。
对于所有使用MySql没有任何变化的产品,我们如何将所有产品类型更改为单一?我们在查询时遇到问题。
希望一些WooCommerce专家可以帮助我们解决这个问题。
非常感谢!
答案 0 :(得分:0)
首先使用循环获取所有变量产品。使用每个产品发布ID,获取可用的变体。如果产品没有变化。然后将每个更改为简单。
<?php
$args = array(
'post_type' => 'product',
'product_type' => 'variable'
);
$products = new WP_Query( $args );
if ( $products->have_posts() ) {
while ( $products->have_posts() ) : $products->the_post();
$variations = array();
$id = the_ID();
$args = array(
'post_parent' => $id
);
$variations = get_children( $args );
if(sizeOf($variations) == 0){
wp_set_object_terms( $id, 'simple', 'product_type' );
}
endwhile;
}
?>
答案 1 :(得分:0)
首先从MySQL取回您的数据库,然后您可以从以下查询中获取您的产品类型的ID:
select term_id from wp_terms where name='variable' // assume return 4 as result
select term_id from wp_terms where name='simple' // assume return 2 as result
通过上面的查询,您可以获得两种产品类型的ID。需要在下面提到的更新查询中使用。
UPDATE wp_term_relationships
INNER JOIN wp_terms ON (wp_term_relationships.term_taxonomy_id = wp_terms.term_id)
SET wp_term_relationships.term_taxonomy_id = '2' where wp_term_relationships.term_taxonomy_id = '4'