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

时间:2015-02-23 09:16:35

标签: wordpress woocommerce

我想将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生成器的插件,但这并不起作用。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分: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都会更改。

相关问题