Поддержка Проблемы и решения Как изменить поля в Woocommerce

  • Здравствуйте, удалить поля (Lats name, Country / Region, Town / City, State / County, Postcode / ZIP, на странице адресса на странице Мой аккаунт WooCommerce (my-account/edit-address/billing/) пожалуйста скажите как это можно сделать

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Я сделал это через этот код в function.php но сохранение начинает не работать, Кнопка сохранить аддрес просто сделает перезагрузку странцы

    add_filter('woocommerce_address_to_edit', 'reorder_woocommerce_address_fields', 10, 2);
    
    function reorder_woocommerce_address_fields( $address, $load_address) {
        $new_address['billing_first_name'] = $address['billing_first_name'];
        $new_address['billing_last_name'] = $address['billing_last_name'];
        $new_address['billing_email'] = $address['billing_email'];
        $new_address['billing_phone'] = $address['billing_phone'];
    
        $new_address['billing_email'] = array(
            'label'     => __('Email', 'woocommerce'),
            'required'  => true,
            'class'     => array('form-row-first'),
        );
    
        $new_address['billing_phone'] = array(
            'label'     => __('Phone', 'woocommerce'),
            'required'  => true,
            'class'     => array('form-row-last'),
            'clear'     => true
        );
    
        $new_address['billing_address_1'] = $address['billing_address_1'];
    
        return $new_address;
    }

    плагины использовать — не ваш путь?
    подобных плагинов в оф. каталоге с пару десятков, да коммерческих еще столько же

    Чтобы изменит эти поля на странице офромеление заказа использую Checkout Field Editor for WooCommerce а вот для личного кабинете оно не работает, и я не знаб какой работает, можете сказать нахвания плагина

    в поиске вбиваете «май аккаунт» вместо «чекаут» и все прекрасно находиться.

    @virabyan , если только одна страна доставки, то ее можно задать в настройках «Продавать в определённые страны», потому как иначе ее отключить от показа нельзя (ну по крайней мере я не смог).

    А остальные вначале нужно сделать необязательными а потом убрать:

    
    add_filter( 'woocommerce_billing_fields', 'custom_override_billing_fields' );
    function custom_override_billing_fields( $address_fields ) {
      
    $address_fields['billing_postcode']['required'] = false;
    $address_fields['billing_state']['required'] = false;
    $address_fields['billing_country']['required'] = false;
    $address_fields['billing_last_name']['required'] = false;
    $address_fields['billing_phone']['required'] = false;
    $address_fields['billing_company']['required'] = false;
    	
    	unset( $address_fields ['billing_postcode'] );
    	unset( $address_fields ['billing_state'] );
    	unset( $address_fields ['billing_last_name'] );
    	unset( $address_fields ['billing_company'] );
    	unset( $address_fields ['billing_phone'] );
    //не сработает unset( $address_fields ['billing_country'] ); 
    
    return $address_fields;
    }
    

    Игор спасибо вам болшое сработала

    Игор а можно как-то добавить номер телефона?

    Игор а можно как-то добавить номер телефона?

    Убрать из кода выше

    $address_fields['billing_phone']['required'] = false;
    unset( $address_fields ['billing_phone'] );
Просмотр 8 ответов — с 1 по 8 (всего 8)