【问题标题】:Remove all skus woocommerce删除所有 skus woocommerce
【发布时间】:2018-09-25 22:57:38
【问题描述】:

我们有一个包含 1200 多个错误 sku 的网站,我们希望在不影响产品的情况下将它们全部删除。

有没有更快的方法通过 phpmyadmin 中的 db 来做到这一点。

任何帮助都会很棒。

谢谢

【问题讨论】:

    标签: mysql wordpress woocommerce phpmyadmin sku


    【解决方案1】:

    这是您的解决方案。更改每页参数的帖子并发布 sku 的元值。 (未测试)

    https://www.themelocation.com/how-to-updateadd-sku-of-all-products-in-woocommerce/

    add_action( 'init', 'update_sku', 10, 1);
    
    function update_sku( $sku ){
    
       $args = array(
    
               'post_type' => 'product',
    
              'posts_per_page' => -1
    
               );
    
       $i=0;
    
       $loop = new WP_Query( $args );
    
       if ( $loop->have_posts() ) {
    
           while ( $loop->have_posts() ) : $loop->the_post();
    
               $random_sku = mt_rand(100000, 999999);
    
               update_post_meta($loop->post->ID,'_sku','');
    
               $i++;
           endwhile;
    
       } else {
           echo __( 'No products found' );
       }
       wp_reset_postdata();
    }
    

    【讨论】:

    • 此解决方案为产品设置随机值 sku。这不是这里所要求的。问题是如何继续从数据库中删除它们,而不是随机设置所有值。
    • 这里 update_post_meta($loop->post->ID,'_sku','');删除(用空更新)产品的 sku。
    • 你能确认我应该在 phpadmin 中为此尝试的实际 sql 查询吗? @HarrySM
    • 您可以使用 like "UPDATE wp_postmeta SET 'meta_value'='' WHERE 'meta_key'='_sku' " 运行查询前请先备份。
    • @HarrySM 我不擅长运行 sql 查询。这是运行它以删除 sku 的实际 cmd 吗?
    猜你喜欢
    • 2018-11-20
    • 2014-10-16
    • 2022-01-27
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    相关资源
    最近更新 更多