我想将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生成器的插件,但这不起作用。任何帮助赞赏。
您可以通过将以下代码添加到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都会更改。