我根据我的订单数量创建了一些额外的表单字段。因此,如果我在购物车中订购 2 件商品,则该字段应该出现两次。
一切正常,除了我只获得订单中一个字段的输入。我想为每个相似的表单字段设置单独的值。
foreach(WC()->cart->get_cart() as $cart_item){
//2nd Loop go through each unit related to item quantity
for($i = 1; $i <= $cart_item['quantity']; $i++){
$index++;
woocommerce_form_field('myname', array(
'type' =>'text',
'class'=>array('my-field-class form-row-wide'),
'label'=>__('My Name'),
'placeholder'=>__('Please enter your name'),
), $checkout->get_value('myname'));
Run Code Online (Sandbox Code Playgroud)
我用这个更新:
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 (! empty( $_POST['myname'])){
update_post_meta($order_id,'Aspirant Name', sanitize_text_field($_POST['myname']));
}
}
Run Code Online (Sandbox Code Playgroud)
并显示如下:
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>'.__('My Name').':</strong> ' . get_post_meta($order->get_id(),'My Name', true).'</p>';
}
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏。