我在Storefront子主题functions.php
文件中添加WooCommerce自定义结算字段。
他们有一个“必需的”属性。
目的是让这些字段出现在页面的顶部,计费领域之前。必需的自定义WooCommerce结帐字段不验证输入值
点击提交按钮进行支付的时候,我得到所需的自定义字段验证错误(“请填写您的姓名”),并不能与支付继续,即使有有效数据填充字段。
任何线索如何解决此问题或者从哪里开始调试?
这里是functions.php
代码:
add_action('woocommerce_before_checkout_form', 'my_custom_checkout_fields');
function my_custom_checkout_fields($checkout) {
echo '<div id="my_custom_checkout_field" class="col4-set"><h2>' . __('name') . '</h2>';
woocommerce_form_field('developer_name', array(
'type' => 'text',
'class' => array('developer_name-class form-row form-row-first'),
'label' => __('name'),
'placeholder' => __('fill in your name'),
'required' => true,
), $checkout->get_value('developer_name'));
echo '</div>';
}
/**
* Process the checkout
*/
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');
function my_custom_checkout_field_process() {
// Check if set, if its not set add an error.
if (! $_POST['developer_name'])
wc_add_notice(__('please fill in your name'), 'error');
}
我尝试以下,但没有他们的帮助:
1.变化:
if (! $_POST['developer_name'])
到
if (empty($_POST['developer_name']))
2.改变触发来自:
add_action('woocommerce_before_checkout_form', 'my_custom_checkout_fields');
到
add_action('woocommerce_after_checkout_form', 'my_custom_checkout_fields');
3.更新到最新的3.0.5 Woocomerce版本
我运行Wordpress 4.7。 4个
其他相关活动插件:
统一CPO - WooCommerce选项和价格计算公式
谢谢!这回答了这个问题,并且运作良好 – buzibuzi