Изменение заполнителя поля оплаты в Woocommerce

Я пытаюсь изменить заполнитель полей «адрес для выставления счета 2» на странице оформления заказа, используя следующий код:

add_filter( 'woocommerce_checkout_fields' ,  'custom_override_checkout_fields',9999 );

// Our hooked in function - $fields is passed via the filter!
function custom_override_checkout_fields( $fields ) {
$fields['billing']['billing_address_2']['placeholder']="dssfsd";
return $fields;
}

он меняется только на мгновение, после чего возвращается к своему значению по умолчанию.
смотрите следующее видео (10сек):
https://www.youtube.com/watch?v=-qOZ67gFQ98

1

Решение

Единственный способ получить это, используя woocommerce_default_address_fields, но это изменит заполнитель как выставления счетов, так и доставки для полей проверки адреса 2:

add_filter( 'woocommerce_default_address_fields', 'custom_override_default_checkout_fields', 10, 1 );
function custom_override_default_checkout_fields( $address_fields ) {
$address_fields['address_2']['placeholder'] = __( 'dssfsd', 'woocommerce' );

return $address_fields;
}

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

Проверено и работает


Теперь, если вы хотите изменить только Адрес 2 биллинг заполнитель поля вы будете:

  1. Unset по умолчанию заполнитель поля Address 2 (для полей доставки и выставления счетов)
  2. Настройте только заполнитель поля Адрес 2 для выставления счетов
  3. Вернуть адрес доставки 2 поле заполнителя

Вот код на две подключенные функции:

add_filter( 'woocommerce_default_address_fields', 'custom_override_default_checkout_fields', 10, 1 );
function custom_override_default_checkout_fields( $address_fields ) {
// Remove labels for "address 2" shipping fields
unset($address_fields['address_2']['placeholder']);

return $address_fields;
}

add_filter( 'woocommerce_checkout_fields', 'custom_override_checkout_fields', 90, 1 );
function custom_override_checkout_fields( $fields ) {
// Add custom billing "address 2" label
$fields['billing']['billing_address_2']['placeholder'] = __( 'dssfsd', 'woocommerce' );
// Put back shipping "address 2" label
$fields['shipping']['shipping_address_2']['placeholder'] = __( 'Apartment, suite, unit etc. (optional)', 'woocommerce' );

return $fields;
}

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

Проверено и работает

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]