0

제품을 업데이트 한 후 코드가있는 제품의 운송 클래스를 편집하려면 어떻게해야합니까?제품 업데이트의 제품 배송 클래스 변경 - Woocommerce

여기 function.php에 대한 내용이 있습니다. product_cat 용어와 함께 작동하지만 product_shipping_class와 작동하지 않습니다.

add_action('save_post_product', 'my_product_save', 10, 3); 

function my_product_save($post_id, $post, $update) { 

    $shipping_class_slug = 'international-standard-shipping'; 

    wp_set_object_terms($post_id, $shipping_class_slug, 'product_shipping_class'); 

} 

감사합니다.

답변

0

save_post 후크는 post_meta가 업데이트되기 전에 실행됩니다. post_meta가 업데이트되거나 추가 된 후에 시작되는 후크를 사용해야합니다. 또한 WooCommerce 제품 클래스 함수를 사용하고 WordPress 함수를 사용하여 배송 메타 데이터를 설정해야합니다.

add_action('added_post_meta', 'woo_on_product_save', 10, 4); 
add_action('updated_post_meta', 'woo_on_product_save', 10, 4); 

function woo_on_product_save($meta_id, $post_id, $meta_key, $meta_value) { 
    if ($meta_key == '_edit_lock') { 
     if (get_post_type($post_id) == 'product') { 
      $product = wc_get_product($post_id); 
      $int_shipping = get_term_by('slug', 'international-standard-shipping', 'product_shipping_class'); 
      $product->set_shipping_class_id($int_shipping->term_id); 
      $product->save(); 
     } 
    } 
} 
+0

Perfect! 그것은 원하는대로 일하고 있습니다. 고마워. –

+0

당신을 진심으로 환영합니다. –

관련 문제