Php 取消设置一些电子商务签出计费字段和一页签出插件
我正在使用WooCommerce订阅和一页签出插件 我可以取消设置帐单名和姓氏(甚至将“required”属性设置为Php 取消设置一些电子商务签出计费字段和一页签出插件,php,wordpress,woocommerce,field,checkout,Php,Wordpress,Woocommerce,Field,Checkout,我正在使用WooCommerce订阅和一页签出插件 我可以取消设置帐单名和姓氏(甚至将“required”属性设置为false),因此这两个字段将从我的单页签出中依次删除 但是,当我填写所有其他字段并下订单时,它会显示一个验证错误通知:“需要支付名字和姓氏”,我真的不知道如何解决这个问题 也许它是从一些函数中重新设置的?我如何解决这个问题?您是否尝试过通过child function.php手动删除它,如下所示 add_filter( 'woocommerce_checkout_fields'
false
),因此这两个字段将从我的单页签出中依次删除
但是,当我填写所有其他字段并下订单时,它会显示一个验证错误通知:“需要支付名字和姓氏”,我真的不知道如何解决这个问题
也许它是从一些函数中重新设置的?我如何解决这个问题?您是否尝试过通过child function.php手动删除它,如下所示
add_filter( 'woocommerce_checkout_fields' , ' custom_remove_checkout_fields ' );
function custom_remove_checkout_fields( $fields ) {
unset($fields['billing']['billing_first_name']);
unset($fields['billing']['billing_last_name']);
return $fields;
}
要在结帐页面中删除帐单名和姓氏而不出现任何问题,请尝试使用以下选项:
// 1. Make required fields optional
add_filter( 'woocommerce_default_address_fields', 'customize_default_address_checkout_fields', 1000 );
function customize_default_address_checkout_fields( $fields ) {
if( is_checkout() ) {
$fields['first_name']['required'] = $fields['last_name']['required'] = false;
}
return $fields;
}
// 2. Remove unneeded billing fields
add_filter( 'woocommerce_billing_fields', 'customize_billing_checkout_fields', 1000 );
function customize_billing_checkout_fields( $fields ) {
if( is_checkout() ) {
unset($fields['billing_first_name'], $fields['billing_last_name']);
}
return $fields;
}
代码放在活动子主题(或活动主题)的functions.php文件中
它也应该与一页签出插件一起工作。我已经解决了这个问题。 根本原因是因为一个插件总是需要名字和姓氏,所以我使用下面的提示来解决这个问题: 我将此代码包含在主题的function.php中:
add_filter('woocommerce_billing_fields', 'my_woocommerce_billing_fields');
function my_woocommerce_billing_fields($fields) {
$fields['billing_first_name']['default'] = 'newSubscriber';
$fields['billing_first_name']['custom_attributes']['readonly'] = TRUE;
$fields['billing_last_name']['default'] = 'newSubscriber';
$fields['billing_last_name']['custom_attributes']['readonly'] = TRUE;
return $fields;
}
因此,现在您的名字和姓氏始终设置为“newSubscriber”,它将通过验证,现在您可以使用css将其隐藏起来,以防发布:
p#billing_first_name_field, p#billing_last_name_field {
display: none;
}
将这些css粘贴到外观->主题->你的主题->其他css中并保存
因此,现在一切都将发挥魅力。
希望它能帮助解决这个问题的人。是的,我试过了,但仍然不起作用。我的url在这里:它是使用woocommerce的一页签出checkout@JackTrinh“使用woocommerce单页签出进行单页签出”???…我不知道。所以问题似乎与一页签出插件有关。它同时使用子说明和一页签出插件。@JackTrinh WooCommerce订阅插件,与您的问题无关(因为我在测试服务器上也启用了它)。此插件是一页签出插件。请检查此插件是否可以帮助您: