首页 > 解决方案 > 保存之前修改元数据的哪个钩子(WooCommerce 产品)?

问题描述

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

标签: wordpresswoocommercemetadatahook

解决方案


非常丑陋,但这在我的情况下有效:

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);

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


推荐阅读