小编Ola*_*nmi的帖子

保存自定义结账字段并在 Woocommerce 订单管理中显示它们

我根据我的订单数量创建了一些额外的表单字段。因此,如果我在购物车中订购 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)

任何帮助表示赞赏。

php wordpress metadata checkout woocommerce

3
推荐指数
1
解决办法
2585
查看次数

标签 统计

checkout ×1

metadata ×1

php ×1

woocommerce ×1

wordpress ×1