【发布时间】:2022-10-25 23:10:16
【问题描述】:
我正在向 woocommerce 产品变体添加自定义字段,以将其他产品类别附加到产品变体。一切正常,在保存过程中,术语在 wp_term_relationships 表中更新,但是,稍后在保存操作中,术语再次被父产品覆盖。
我正在使用以下代码:
add_action( 'woocommerce_save_product_variation', 'save_custom_field_variations', 99, 2 );
function save_custom_field_variations( $variation_id, $i ) {
$custom_categories = $_POST['variation_product_cat'][$variation_id];
if ( isset( $custom_categories ) && !empty( $custom_categories )) {
wp_set_post_terms( $variation_id, $custom_categories, 'product_cat' );
}
}
我还尝试了一个不同的钩子,结果相同:
add_action( 'woocommerce_update_product', 'save_custom_field_variations_2', 99, 1 );
function save_custom_field_variations_2( $post_id ) {
foreach($_POST['variation_product_cat'] as $variation_id => $custom_categories)
if ( isset( $custom_categories ) && !empty( $custom_categories )) {
$response = wp_set_post_terms( $variation_id, $custom_categories, 'product_cat' );
}
}
非常欢迎任何有关覆盖我的更改的过程的提示!
【问题讨论】:
标签: php wordpress woocommerce product-variations