Woocommerce更新所有产品的sku?过滤?

问题描述 投票:0回答:1

我想将SKU设置为产品的ID ..但找不到合适的过滤器使用?

是否有过滤器发送产品SKU?

add_filter( 'woocommerce_get_sku', 'update_sku', 10, 1);

function update_sku( $sku ){

//set $newsku as product id


    return $newsku;
}

我该如何做到这一点?我有1000个没有SKU的产品。我尝试过一个名为SKU生成器的插件,但这不起作用。任何帮助赞赏。

wordpress woocommerce
1个回答
3
投票

您可以通过将以下代码添加到functions.php文件中并在添加到站点example.com仅一次后执行此操作。

之后删除functions.php下面的代码。

    add_filter( 'init', 'update_sku', 10, 1);

    function update_sku( $sku ){

        $args = array(
                'post_type' => 'product',
                'posts_per_page' => 12
                );
        $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',$random_sku);

                $i++;
            endwhile;
        } else {
            echo __( 'No products found' );
        }
        wp_reset_postdata();
    }

注意:如果您在一次使用后未移除,则每次访问您网站的任何页面时,产品SKU都会更改。

© www.soinside.com 2019 - 2024. All rights reserved.