0
因此,我堅持將第二個自定義結賬字段添加到我的商店。多個woocommerce自定義結帳字段
第一個自定義字段是單選按鈕,它直接添加到模板字段。另一個是相同的單選按鈕,但具有不同的ID和名稱。
送貨部分工作正常,但該私人標籤不保存,並且在訂單完成後不顯示在管理區域。
這是我已經有,我做錯了什麼?
/**
* Update the user meta with field value
**/
add_action('woocommerce_checkout_update_user_meta', 'my_custom_checkout_field_update_user_meta');
function my_custom_checkout_field_update_user_meta($user_id) {
if ($user_id && $_POST['shippinng']) update_user_meta($user_id, 'shippinng', esc_attr($_POST['shippinng']));
if ($user_id && $_POST['private']) update_user_meta($user_id, 'private', esc_attr($_POST['private']));
}
/**
* Update the order meta with field value
**/
add_action('woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta');
function my_custom_checkout_field_update_order_meta($order_id) {
if ($_POST['shippinng']) update_post_meta($order_id, 'Transport', esc_attr($_POST['shippinng']));
if ($_POST['private']) update_post_meta($order_id, 'Private label', esc_attr($_POST['private']));
}
/**
* Display field value on the order edit page
*/
add_action('woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1);
function my_custom_checkout_field_display_admin_order_meta($order){
echo '<p><strong>'.__('Transport').':</strong> ' . get_post_meta($order->id, 'Transport', true) . '</p>';
echo '<p><strong>'.__('Private label').':</strong> ' . get_post_meta($order->id, 'Private label', true) . '</p>';
}
/**
* Add the field to order emails
**/
add_filter('woocommerce_email_order_meta_keys', 'my_custom_checkout_field_order_meta_keys');
function my_custom_checkout_field_order_meta_keys($keys) {
$keys[] = 'Transport';
$keys[] = 'Private label';
return $keys;
}