首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WooCommerce使用mysql批量更改产品类型

WooCommerce使用mysql批量更改产品类型
EN

Stack Overflow用户
提问于 2017-04-21 06:53:21
回答 2查看 2.3K关注 0票数 1

当使用WpAllImport导入产品时,我们所有的产品都存储为可变产品,即使它们没有任何变体。我们需要将这些存储为单一产品。

对于没有任何变化的所有产品,我们如何使用MySql将所有产品类型都更改为single?我们在查询时遇到问题。

希望一些WooCommerce专家能帮助我们解决这个问题..

非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2017-04-21 18:28:33

首先从MySQL备份你的数据库,然后你可以从下面的查询中获得你的产品类型的id:

代码语言:javascript
复制
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

通过上面的查询,您可以获得下面提到的更新查询中type.which需要使用的两个产品的id。

代码语言:javascript
复制
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'
票数 1
EN

Stack Overflow用户

发布于 2017-04-21 16:01:33

首先使用循环获取所有变量的乘积。使用每个产品帖子Id,获取可用的变体。如果没有该产品的变体。然后把每个都改成简单的。

代码语言:javascript
复制
  <?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;
            } 
        ?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43531187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档