【问题标题】:Remove billing phone and email fields from my account edit address in WooCommerce从我在 WooCommerce 中的帐户编辑地址中删除帐单电话和电子邮件字段
【发布时间】:2019-04-01 02:27:05
【问题描述】:

我正在尝试从 WooCommerce 我的帐户编辑地址中删除电话号码和电子邮件,但它不起作用。我只想在表格中显示没有电子邮件和电话号码的地址。我怎样才能做到这一点?

我尝试了什么:

<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 文件。我把它放到了我的孩子主题中,因为我做了一些其他的改变。因此,删除此 PHP 文件中的字段将是最佳解决方案。

因为电子邮件:我认为我必须做一些事情来防止在我提交表单时出错,因为那里需要这个字段。但不知道如何做到这一点。

【问题讨论】:

  • 您将隐藏的类添加到字段并将它们设置为不需要

标签: php wordpress woocommerce field account


【解决方案1】:

以下代码功能将从我的帐户中删除帐单电话和电子邮件字段>编辑地址:

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 文件中。经过测试并且可以工作。

【讨论】:

  • 效果很好!谢谢你。但它不会从这种形式的某些字段中删除(可选):(
  • 好吧,一会儿。我会再问一个问题并在这里发布。
  • 做到了。今天晚些时候我试过了,但我没有被允许,因为我没有那么多学分。你也可以喜欢我的问题,所以我可以喜欢你的问题。
  • @Mr.Jo 新问题得到解答,两个问题都“喜欢”……
猜你喜欢
  • 2017-09-12
  • 2021-06-11
  • 2021-11-06
  • 2021-06-06
  • 2019-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多