繁体   English   中英

无法获取woocoommerce产品版本ID

[英]Unable to get woocoommerce product variation id

我正在尝试为产品中的所有变体更新一个特定的字段,但不幸的是,我无法获得变体ID来进一步。

基本上我正在做的是,我试图获取每个变化的库存值,如果库存值小于零,那么我将使用某些值更新特定的字段(如下面的代码中所述)。

我已经通过手动输入任何自定义帖子/版本ID进行了测试,并且工作正常,并根据其库存值更新了该特定版本ID。 我被困在这里的唯一原因是我无法自行获取版本ID。

下面是我正在使用的代码:

global $post, $woocommerce;
$post_id = $variation->ID;

// Get specific data from the certain custom fields using get_post_meta( $post_id, $key, $single );
$stock = get_post_meta( $post_id, '_stock', true );

if ($stock < 1) {
    update_post_meta( $post_id, 'cuzd-prod-general-v', '20,25' );   
} else {
    update_post_meta( $post_id, 'cuzd-prod-general-v', '1,5' );
}

我不知道我在哪里弄错了版本ID。

我可以使用以下代码更改来解决此问题:

// Values to be updated
    $in_stock   = '1,5';
    $out_of_stock   = '20,30';

// Get variations        
    $args = array(
                 'post_type'     => 'product_variation',
                 'post_status'   => array( 'private', 'publish' ),
                 'numberposts'   => -1,
                 'orderby'       => 'menu_order',
                 'order'         => 'asc',
                 'post_parent'   => $post->ID
             );
             $variations = get_posts( $args ); 

    foreach ( $variations as $variation ) {

                 $variation_id           = absint( $variation->ID );$variable_id = $this['variation_id'];
                 $variation_post_status  = esc_attr( $variation->post_status );
                 $variation_data         = get_post_meta( $variation_id );
                 $variation_data['variation_post_id'] = $variation_id;


    // Get specific data from the certain custom fields using get_post_meta( $post_id, $key, $single );
    $stock = get_post_meta( $variation_data['variation_post_id'], '_stock', true ); 


    if ($stock < 1) {
        update_post_meta( $variation_data['variation_post_id'], 'cuzd-prod-general-v', $out_of_stock ); 
        } else {
            update_post_meta( $variation_data['variation_post_id'], 'cuzd-prod-general-v', $in_stock );
            }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM