Настройте заполнители некоторых полей оформления заказа в Woocommerce 3+ - PullRequest
0 голосов
/ 19 декабря 2018

Я обновил заполнители для полей корзины с помощью настроек WooCommerce следующим образом:

enter image description here

Однако на внешнем интерфейсе прежние заполнители остаются:

enter image description here

Я также использовал следующий код, адаптированный из другого потока StackOverflow, целью которого является переопределение содержимого заполнителя, но значения по умолчанию все еще сохраняются.

add_filter('woocommerce_default_address_fields', 'override_default_address_checkout_fields', 20, 1);
function override_default_address_checkout_fields( $address_fields ) {
    $address_fields['state']['placeholder'] = 'State';
    $address_fields['postcode']['placeholder'] = 'Postcode';
    return $address_fields;
}

Посоветуйте, пожалуйста, как мне получить желаемый текст-заполнитель!

1 Ответ

0 голосов
/ 19 декабря 2018

В woocommerce default нет настроек, которые вы описали.Таким образом, вы используете сторонний плагин, чтобы настроить поля.Поэтому вам нужно попробовать несколько способов с более высоким приоритетом перехвата.

Итак, попробуйте один за другим:

1) Использование фильтра-перехватчика woocommerce_default_address_fields (с перехватом с более высоким приоритетом) :

add_filter('woocommerce_default_address_fields', 'customize_default_address_fields', 10000, 1 );
function customize_default_address_fields( $address_fields ) {
    $address_fields['state']['placeholder'] = __('State', 'woocommerce');
    $address_fields['postcode']['placeholder'] = __('Postcode', 'woocommerce');
    return $address_fields;
}

2) Использование фильтра woocommerce_checkout_fields:

add_filter('woocommerce_checkout_fields', 'customize_checkout_fields', 10000, 1 );
function customize_checkout_fields( $fields ) {
    $fields['billing']['billing_state']['placeholder'] = __('State', 'woocommerce');
    $fields['shipping']['shipping_state']['placeholder'] = __('State', 'woocommerce');
    $fields['billing']['billing_postcode']['placeholder'] = __('Postcode', 'woocommerce');
    $fields['shipping']['shipping_postcode']['placeholder'] = __('Postcode', 'woocommerce');
    return $fields;
}

3) Использование фильтра woocommerce_billing_fields и woocommerce_shipping_fields:

add_filter('woocommerce_billing_fields', 'customize_billing_fields', 10000, 1 );
function customize_billing_fields( $billing_fields ) {
    $billing_fields['billing_state']['placeholder'] = __('State', 'woocommerce');
    $billing_fields['billing_postcode']['placeholder'] = __('Postcode', 'woocommerce');

    return $billing_fields;
}

add_filter('woocommerce_shipping_fields', 'customize_shipping_fields', 10000, 1 );
function customize_shipping_fields( $shipping_fields ) {
    $shipping_fields['shipping_state']['placeholder'] = __('State', 'woocommerce');
    $shipping_fields['shipping_postcode']['placeholder'] = __('Postcode', 'woocommerce');

    return $shipping_fields;
}

Весь код помещается в файл function.php вашей активной дочерней темы (или активной темы).

Я надеюсь, что одна из них будет работать.Без стороннего плагина каждый из этих кодов работает отлично.

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