哪个挂钩在保存前修改元数据(WooCommerce 产品)?

Which hook to modify metadata before save (WooCommerce products)?

我想在保存 WooCommerce 产品之前修改其元数据(如果为空)。此元数据是一个自定义元字段,不属于 WooCommerce。这意味着我需要首先检查给定的元数据——而不是总是设置一个值,无论如何。

非常丑陋,但这对我来说很有效:

function my_save_product_meta( $product ) {

    // only modify if empty; replacement / action is simple enough so that we 
    // need not to worry about sanitization.
    if (
        isset($_POST['my_custom_field']) 
    &&  empty(trim($_POST['my_custom_field']))
    ) {
        $_POST['my_custom_field'] = '0';
    }
}
add_action('woocommerce_admin_process_product_object', 'my_save_product_meta', 10, 1);

适用于保存新产品以及更新现有产品。