通过 REST 更新产品后触发的 Woocommerce 挂钩 API
Woocommerce hook that fires after a product is updated via REST API
我正在使用这个挂钩 运行 产品更新后的一些代码:
add_action( 'updated_post_meta', 'attach_variation_images_on_product_save', 10, 4 );
function attach_variation_images_on_product_save( $meta_id, $post_id, $meta_key, $meta_value ) {
if ( $meta_key == '_edit_lock' ) {
if ( get_post_type( $post_id ) == 'product' ) {
//do something
}
}
}
这符合预期,该功能在产品更新后执行。当通过 REST API 更新产品时,我想要 运行 相同的功能。我像这样将我的函数连接到 woocommerce_rest_insert_product_object
但它不起作用:
add_action( 'woocommerce_rest_insert_product_object', 'attach_variation_images_on_product_update_via_rest', 10, 3 );
function attach_variation_images_on_product_update_via_rest( $post, $request, $true ) {
if ( get_post_type( $post ) == 'product' ) {
$product = wc_get_product( $post );
//do something
}
}
我是不是没用对钩?我可以使用其他挂钩吗?
编辑 1:我的代码似乎不是 运行ning,因为 get_post_type($post)
是 post
而不是 product
的类型。我正在尝试在循环内使用 add_post_meta($variation_id, '_thumbnail_id', $image_id);
将图像附加到变体。似乎函数 attach_variation_images_on_product_update_via_rest( $post, $request, $true )
执行到最后,但它没有将图像附加到变体。
我最终使用了这个挂钩 add_action( 'woocommerce_update_product', 'my_callback_function', 10, 1 );
,它在您从 Woocommerce 后端以及从 REST API.
更新产品时执行回调函数
我正在使用这个挂钩 运行 产品更新后的一些代码:
add_action( 'updated_post_meta', 'attach_variation_images_on_product_save', 10, 4 );
function attach_variation_images_on_product_save( $meta_id, $post_id, $meta_key, $meta_value ) {
if ( $meta_key == '_edit_lock' ) {
if ( get_post_type( $post_id ) == 'product' ) {
//do something
}
}
}
这符合预期,该功能在产品更新后执行。当通过 REST API 更新产品时,我想要 运行 相同的功能。我像这样将我的函数连接到 woocommerce_rest_insert_product_object
但它不起作用:
add_action( 'woocommerce_rest_insert_product_object', 'attach_variation_images_on_product_update_via_rest', 10, 3 );
function attach_variation_images_on_product_update_via_rest( $post, $request, $true ) {
if ( get_post_type( $post ) == 'product' ) {
$product = wc_get_product( $post );
//do something
}
}
我是不是没用对钩?我可以使用其他挂钩吗?
编辑 1:我的代码似乎不是 运行ning,因为 get_post_type($post)
是 post
而不是 product
的类型。我正在尝试在循环内使用 add_post_meta($variation_id, '_thumbnail_id', $image_id);
将图像附加到变体。似乎函数 attach_variation_images_on_product_update_via_rest( $post, $request, $true )
执行到最后,但它没有将图像附加到变体。
我最终使用了这个挂钩 add_action( 'woocommerce_update_product', 'my_callback_function', 10, 1 );
,它在您从 Woocommerce 后端以及从 REST API.