通过REST API更新产品后触发的WooCommerce挂钩 [英] Woocommerce hook that fires after a product is updated via REST API

查看:15
本文介绍了通过REST API更新产品后触发的WooCommerce挂钩的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用此挂钩在产品更新后运行一些代码:

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:我的代码似乎没有运行,因为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更新产品时执行回调函数。

这篇关于通过REST API更新产品后触发的WooCommerce挂钩的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆