需要您的帮助,因为我使用以下代码来保存名称为“custom_form_data”的隐藏输入字段的值,但它没有添加到数据库中。检查了 wp_postmeta 和 wp_wc_orders_meta
add_action('woocommerce_checkout_update_order_meta', 'save_custom_form_data_to_order');
function save_custom_form_data_to_order($order_id) {
if (isset($_POST['custom_form_data'])) {
$custom_form_data = sanitize_text_field($_POST['custom_form_data']);
update_post_meta($order_id, 'custom_form_data', $custom_form_data);
}
}
为什么
woocommerce_checkout_update_order_meta
挂钩不起作用?
这是因为 Checkout Blocks 现在默认启用,并且只允许很少的自定义。
使用 checkout Block 时,以下操作挂钩不起作用:
woocommerce_checkout_create_order
woocommerce_checkout_update_order_meta
woocommerce_checkout_order_created
另一种选择是切换回传统的经典 Checkout(简码)。