【问题标题】:add extra field woocommerce checkout out添加额外的字段 woocommerce 结帐
【发布时间】:2019-05-29 09:21:08
【问题描述】:

我正在尝试使用

向 woocommerce 下订单按钮添加一个额外的字段
/**
 * Add PO checkout field 
 */

add_action( 'woocommerce_review_order_before_payment', 'invoice_po' );
function invoice_po($checkout)
    { 
    woocommerce_form_field('invoice_po_field', array(
        'type' => 'text',
        'class' => array(
            'form-row-wide') ,
            'label' => __('Invoice Customer PO') ,
            'placeholder' => __('PO123456789') ,
            'required' => true,
    ) , $checkout->get_value('invoice_po_field'));
}

add_action('woocommerce_checkout_update_order_meta', 'add_po_to_order_meta');
function add_po_to_order_meta($order_id)
{
  if (!empty($_POST['invoice_po_field'])) {
    update_post_meta($order_id, 'Invoice Field', sanitize_text_field($_POST['invoice_po_field']));
  }
}

如果我想在订单注释之前或之后添加它,此方法可以正常工作,但如果尝试在下订单按钮之前添加,则此方法不起作用,有人知道为什么我不能在本节中添加字段

【问题讨论】:

    标签: woocommerce checkout


    【解决方案1】:

    我的代码的错误是 ($checkout) 此变量仅与结帐页面的地址和客户备注部分相关,以允许访问我刚刚删除的所有页面挂钩

    /**
     * Add PO checkout field 
     */
    add_action( 'woocommerce_review_order_before_payment', 'invoice_po');
    function invoice_po()
    {
        $user = wp_get_current_user();
        if (in_array('invoice_customer', $user->roles)) {
            woocommerce_form_field('invoice_po_field', array(
                'type' => 'text',
                'class' => array('form-row-wide') ,
                'label' => __('Invoice Customer PO') ,
                'placeholder' => __('PO123456789') ,
                'required' => true
            ));
        }
    }
    
    add_action('woocommerce_checkout_update_order_meta', 'add_po_to_order_meta');
    function add_po_to_order_meta($order_id)
    {
      if (!empty($_POST['invoice_po_field'])) {
        update_post_meta($order_id, 'Invoice Field', sanitize_text_field($_POST['invoice_po_field']));
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2011-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-25
      • 2015-04-20
      • 2021-09-29
      • 2017-08-31
      • 2021-01-29
      相关资源
      最近更新 更多