【发布时间】:2017-09-21 06:31:29
【问题描述】:
有时,在 WooCommerce 中,客户需要在一个字段中填写街道名称和门牌号。
在这种情况下,我们希望在处理订单之前验证 billing_address_1 WooCommerce 结帐字段以检查它是否包含数字。我们尝试了多种方法来完成这项工作,但都没有成功。
这种标准的 WooCommerce 方法不起作用:
add_action('woocommerce_checkout_process', 'custom_checkout_field_check');
function custom_checkout_field_check() {
// Check if set, if its not set add an error.
if ( $_POST['billing_address_1'] && strpbrk($_POST['billing_address_1'], '1234567890') )
wc_add_notice( __( 'Het adresveld moet minimaal een huisnummer bevatten' ), 'error' );
}
这些在结帐页面上返回 bool(false):
var_dump($_POST['billing_address_1'] == true);
var_dump($_POST['billing_address_2'] == true);
var_dump($_POST['billing_postcode'] == true);
var_dump($_POST['billing_email'] == true);
此前端解决方法不起作用。
document.querySelector("#place_order").addEventListener("click", validateAddressField);
function validateAddressField () {
console.log('Okay dan!');
}
在处理订单之前,我还能尝试哪些方法来确保验证发生?
【问题讨论】:
-
你应该删除你的另一个类似问题......因为它是这个问题的副本。
标签: php wordpress woocommerce checkout hook-woocommerce