在Woocommerce结帐中创建结帐字段

问题描述 投票:3回答:1

出于某种原因,帐单地址中的所有字段都标记为可选 - 客户将帐单邮寄地址字段留空,然后他们的付款被拒绝(Square,我们的付款处理商)。

我找不到任何需要这些字段的地方,也无法弄清楚为什么在任何情况下它们都会被标记为可选。

有人能指出我正确的方向吗?

UPDATE

我甚至尝试过以下方法:

add_filter('woocommerce_billing_fields', 'force_billing_fields', 1000, 1);
function force_billing_fields($fields) {
  $fields['billing_first_name']['required'] = true;
  $fields['billing_last_name']['required'] = true;
  $fields['billing_address_1']['required'] = true;
  $fields['billing_city']['required'] = true;
  $fields['billing_postcode']['required'] = true;
  $fields['billing_country']['required'] = true;
  $fields['billing_state']['required'] = true;
  $fields['billing_email']['required'] = true;
  $fields['billing_phone']['required'] = true;

  return $fields;
}

它们仍被标记为可选,但计费电话和国家/地区现已标记为必需。但其余的仍然是可选的。

php wordpress woocommerce field checkout
1个回答
3
投票

如果你没有发现我的评论中所解释的有罪,你可以做的是使用以下(如果其他一些代码已经使用了这些钩子,则使用最高的钩子优先级):

add_filter( 'woocommerce_default_address_fields', 'customising_checkout_fields', 1000, 1 );
function customising_checkout_fields( $address_fields ) {
    $address_fields['first_name']['required'] = true;
    $address_fields['last_name']['required'] = true;
    $address_fields['company']['required'] = true;
    $address_fields['country']['required'] = true;
    $address_fields['city']['required'] = true;
    $address_fields['state']['required'] = true;
    $address_fields['postcode']['required'] = true;

    return $address_fields;
}

代码位于活动子主题(或活动主题)的function.php文件中。测试和工作。

对于手机和电子邮件计费,您可以尝试

add_filter('woocommerce_billing_fields', 'custom_billing_fields', 1000, 1);
function custom_billing_fields( $fields ) {
    $fields['billing_email']['required'] = true;
    $fields['billing_phone']['required'] = true;

    return $fields;
}

要么

add_filter('woocommerce_checkout_fields', 'custom_billing_fields', 1000, 1);
function custom_billing_fields( $fields ) {
    $fields['billing']['billing_email']['required'] = true;
    $fields['billing']['billing_phone']['required'] = true;

    return $fields;
}
© www.soinside.com 2019 - 2024. All rights reserved.