首页 > 解决方案 > `woocommerce_save_product_variation` 动作挂钩之前的哪个动作?

问题描述

谁能告诉我在woocommerce_save_product_variation动作钩子之前哪个动作?

我正在尝试在更新产品变体之前保存旧的价格和数量

标签: wordpresswoocommerceproducthook-woocommerce

解决方案


利用woocommerce_admin_process_variation_object

add_action('woocommerce_admin_process_variation_object', 'prefix_previous_variation_price', 10, 1);
function prefix_previous_variation_price($variation) {
   $previous_price = $variation->get_price();
}

要找到这种钩子,您可以查看 woocommerce 源文件。例如:我woocommerce_save_product_variationhttp://hookr.io/上搜索。我看到这个钩子被调用了class-wc-meta-box-product-data.php。然后我看一下这个文件,我找到woocommerce_admin_process_variation_object了之前被调用的钩子$variation->save();

看看这里: https ://github.com/woocommerce/woocommerce/blob/ac9f83d7724b889a1740d651eb4cd8ac5bb5b4f2/includes/admin/meta-boxes/class-wc-meta-box-product-data.php#L537


推荐阅读