gpt4 book ai didi

function - Woocommerce:更改功能中的产品类型

转载 作者:行者123 更新时间:2023-12-04 14:17:56 25 4
gpt4 key购买 nike

我需要在函数中将产品类型从 simple 更改为 variable

我越接近这个,但没有用。我的代码的第 2 行需要帮助:

我必须使用 $product->save();

// Line 1: GET THE PRODUCT     
$product = wc_get_product( get_the_id() );

// Line 2: SET THE PRODUCT TYPE TO: 'variable'
wp_set_object_terms( $product, 'variable', 'product_type' );

// Line 2: (I also tried this) SET THE PRODUCT TYPE TO: 'variable'
$product->set_product_type( 'variable' );

// Line 3: SAVE THE PRODUCT
$product->save();

更新 1:我试过这个,但没有用:

add_action( 'template_redirect', 'save_product_on_page_load' );

function save_product_on_page_load() {
if ( get_post_type() === "product" ){
$product = wc_get_product( get_the_id() );
if ( $product->is_type('simple') ) {

echo $productId = $product->get_id();
wp_remove_object_terms( $productId, 'simple', 'product_type' );
wp_set_object_terms( $productId, 'variable', 'product_type', true );
$product->save();
}
}
}

最佳答案

我认为您必须先删除旧的宾语,然后才能应用新的宾语。 wp_remove_object_terms 将删除旧的对象术语。

make sure your product ID is not null.

这是一个简单的例子,它可以工作并经过测试

function woo_set_type_function(){
$product_id = 18; //your product ID
wp_remove_object_terms( $product_id, 'simple', 'product_type' );
wp_set_object_terms( $product_id, 'variable', 'product_type', true );
}
add_action('init', 'woo_set_type_function'); //init is for testing purpose only

关于function - Woocommerce:更改功能中的产品类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58345045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com