【问题标题】:Woocommerce hook that fires after a product is updated via REST API通过 REST API 更新产品后触发的 Woocommerce 钩子
【发布时间】:2018-06-17 20:32:30
【问题描述】:

我正在使用这个钩子在产品更新后运行一些代码:

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 ) 执行到最后,但它没有将图像附加到变体。

【问题讨论】:

    标签: woocommerce hook-woocommerce woocommerce-rest-api


    【解决方案1】:

    当您从 Woocommerce 后端以及从 REST API 更新产品时,我最终使用了这个钩子 add_action( 'woocommerce_update_product', 'my_callback_function', 10, 1 ); 执行回调函数。

    【讨论】:

      猜你喜欢
      • 2018-04-22
      • 1970-01-01
      • 1970-01-01
      • 2018-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-15
      • 2017-12-31
      相关资源
      最近更新 更多