Php 将maxlength自定义字段添加到电子商务签出页面
我在WooCommerce结账表单中添加了一个新的电话号码字段 除maxlength=“10”外,所有功能都正常工作。添加代码段后,当我检查元素时,它显示maxlength=10,但phone字段允许我键入n个字符 我做错什么了吗 下面是我在Php 将maxlength自定义字段添加到电子商务签出页面,php,wordpress,woocommerce,checkout,custom-fields,Php,Wordpress,Woocommerce,Checkout,Custom Fields,我在WooCommerce结账表单中添加了一个新的电话号码字段 除maxlength=“10”外,所有功能都正常工作。添加代码段后,当我检查元素时,它显示maxlength=10,但phone字段允许我键入n个字符 我做错什么了吗 下面是我在functions.php add_action('woocommerce_在_checkout_billing_form之后,'custom_checkout_field'); 函数自定义检查字段($checkout) { woocommerce\u表单\
functions.php
add_action('woocommerce_在_checkout_billing_form之后,'custom_checkout_field');
函数自定义检查字段($checkout)
{
woocommerce\u表单\u字段('billing\u phone\u 2',数组(
'类型'=>'编号',
“maxlength”=>“10”,
'id'=>'billing\u phone\u 2',
“类”=>数组(
'输入文本表单行宽'
) ,
'必选'=>'必选'==获取选项('woocommerce\u checkout\u phone\u field','必选'),
“标签”=>“‘电话2’”,
“占位符”=>”,
) ,
$checkout->get_value('billing_phone_2');
}
对于类型
您可以使用电话
,对于最大长度
则无需将数字放在引号之间
所以你得到:
//在帐单表单后显示自定义签出字段
功能操作\u结账后的商业\u账单\u表单($checkout){
woocommerce\u表单\u字段('billing\u phone\u 2',数组(
'类型'=>'电话',
“maxlength”=>10,
'class'=>数组('form row wide'),
“必需”=>true,
'label'=>\('Phone 2','woocommerce'),
'占位符'=>\('我的占位符','woocommerce'),
),$checkout->get_value('billing_phone_2');
}
添加行动('woocommerce'在结帐后,'woocommerce'在结帐后,'woocommerce'在结帐后,'10,1');
可选:对自定义(必需)字段进行一些验证
//自定义签出字段验证
函数操作\u商业\u签出\u过程(){
//伊塞特
如果(isset($\u POST['billing\u phone\u 2'])){
$domain='woocommerce';
$phone=$\u POST['billing\u phone\u 2'];
//空的
如果(空($phone)){
wc_添加_通知(uuu(‘请输入完成此订单的电话号码’,$domain),‘错误’);
}
//使用正则表达式验证电话号码。
如果(0
如果
type
=number
,则可以使用min
和max
属性
//在帐单表单后显示自定义签出字段
功能操作\u结账后的商业\u账单\u表单($checkout){
woocommerce\u表单\u字段('billing\u phone\u 2',数组(
'类型'=>'编号',
“自定义_属性”=>数组(
“min”=>0,
“最大值”=>9999999,
),
'class'=>数组('form row wide'),
'占位符'=>\('电话2','woocommerce'),
),$checkout->get_value('billing_phone_2');
}
添加行动('woocommerce'在结帐后,'woocommerce'在结帐后,'woocommerce'在结帐后,'10,1');
虽然我不建议将其作为电话号码,但存在“tel”类型是有原因的,就像WooCommerce中的其他电话字段一样感谢您的回复。电话字段不应接受字母表和任何其他字符。这就是为什么我用类型作为数字。有什么办法吗?我已经更新了我的答案,虽然我不建议把它作为电话号码。正如WooCommerce中的其他电话字段中所使用的那样,“tel”类型的存在是有原因的。如果只允许使用数字字符,则可以通过字段验证进行检查。感谢您的快速响应和推荐。我会记住更新的答案不起作用。。。你能帮我解决这个问题吗?1)我可以确认我的答案是有效的。2) “它不起作用”说,天空是蓝色的,太阳是黄色的。你必须提供更多的细节,而不仅仅是“它不起作用”。