从我在 WooCommerce 中的帐户编辑地址中删除账单 phone 和电子邮件字段
Remove billing phone and email fields from my account edit address in WooCommerce
我正在尝试从 WooCommerce 我的帐户编辑地址中删除 phone 号码和电子邮件,但它不起作用。我只想在表格中显示没有电子邮件和 phone 号码的地址。我怎样才能做到这一点?
我尝试了什么:
<div class="woocommerce-address-fields__field-wrapper">
<?php
unset( $address[$fields['billing_phone']] );
foreach ( $address as $key => $field ) {
if ( isset( $field['country_field'], $address[ $field['country_field'] ] ) ) {
$field['country'] = wc_get_post_data_by_key( $field['country_field'], $address[ $field['country_field'] ]['value'] );
}
woocommerce_form_field( $key, $field, wc_get_post_data_by_key( $key, $field['value'] ) );
}
?>
</div>
这直接来自 form-edit-address.php
文件。我已将它放入我的 child 主题中,因为我做了一些其他更改。因此,最好的解决方案是删除此 PHP 文件中的字段。
因为电子邮件:我认为在提交表单时我必须做一些事情来防止错误,因为那里需要这个字段。但是不知道该怎么做。
以下代码函数将从“我的帐户”>“编辑地址”中删除帐单 phone 和电子邮件字段:
add_filter( 'woocommerce_billing_fields', 'remove_account_billing_phone_and_email_fields', 20, 1 );
function remove_account_billing_phone_and_email_fields( $billing_fields ) {
// Only on my account 'edit-address'
if( is_wc_endpoint_url( 'edit-address' ) ){
unset($billing_fields['billing_phone']);
unset($billing_fields['billing_email']);
}
return $billing_fields;
}
代码进入活动子主题(或活动主题)的 function.php 文件。已测试并有效。
我正在尝试从 WooCommerce 我的帐户编辑地址中删除 phone 号码和电子邮件,但它不起作用。我只想在表格中显示没有电子邮件和 phone 号码的地址。我怎样才能做到这一点?
我尝试了什么:
<div class="woocommerce-address-fields__field-wrapper">
<?php
unset( $address[$fields['billing_phone']] );
foreach ( $address as $key => $field ) {
if ( isset( $field['country_field'], $address[ $field['country_field'] ] ) ) {
$field['country'] = wc_get_post_data_by_key( $field['country_field'], $address[ $field['country_field'] ]['value'] );
}
woocommerce_form_field( $key, $field, wc_get_post_data_by_key( $key, $field['value'] ) );
}
?>
</div>
这直接来自 form-edit-address.php
文件。我已将它放入我的 child 主题中,因为我做了一些其他更改。因此,最好的解决方案是删除此 PHP 文件中的字段。
因为电子邮件:我认为在提交表单时我必须做一些事情来防止错误,因为那里需要这个字段。但是不知道该怎么做。
以下代码函数将从“我的帐户”>“编辑地址”中删除帐单 phone 和电子邮件字段:
add_filter( 'woocommerce_billing_fields', 'remove_account_billing_phone_and_email_fields', 20, 1 );
function remove_account_billing_phone_and_email_fields( $billing_fields ) {
// Only on my account 'edit-address'
if( is_wc_endpoint_url( 'edit-address' ) ){
unset($billing_fields['billing_phone']);
unset($billing_fields['billing_email']);
}
return $billing_fields;
}
代码进入活动子主题(或活动主题)的 function.php 文件。已测试并有效。