Удалите поля для выставления счетов по телефону и электронной почте из адреса для редактирования моей учетной записи в WooCommerce - PullRequest
0 голосов
/ 27 октября 2018

Я пытаюсь удалить номер телефона и адрес электронной почты с адреса редактирования моей учетной записи 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.

Из-за электронного письма: я думаю, что должен сделать что-то, чтобы предотвратить ошибку при отправке формы, потому что это поле обязательно для заполнения.Но понятия не имею, как это сделать.

1 Ответ

0 голосов
/ 27 октября 2018

Следующая функция кода удаляет поля телефона и адреса электронной почты для выставления счетов из Моего аккаунта> изменить адрес:

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 активной дочерней темы (или активной темы).Проверено и работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...