я использую woocommerce_checkout_fields
фильтр для настройки заполнителей на странице оформления заказа WooCommerce.
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) {
$fields['billing']['billing_first_name']['placeholder'] = 'Name';
$fields['billing']['billing_last_name']['placeholder'] = 'Surname';
$fields['billing']['billing_email']['placeholder'] = 'Email';
$fields['billing']['billing_company']['placeholder'] = 'Company Name';
$fields['billing']['billing_phone']['placeholder'] = 'Phone';
$fields['billing']['billing_postcode']['placeholder'] = 'Zip Code';
$fields['billing']['billing_city']['placeholder'] = 'City';
$fields['shipping']['shipping_first_name']['placeholder'] = 'Name';
$fields['shipping']['shipping_last_name']['placeholder'] = 'Surname';
$fields['shipping']['shipping_city']['placeholder'] = 'City';
$fields['shipping']['shipping_postcode']['placeholder'] = 'Zip Code';
return $fields;
}
Это работает хорошо только для формы оформления заказа.
Как настроить «заполнители» во всех формах доставки и выставления счетов?
Благодарю.
Если вы имеете в виду в Мой аккаунт Страницы для формы Billing и Shipping, единственная ловушка фильтра (которую я знаю), которая могла бы добиться цели, это:
add_filter( 'woocommerce_form_field_args', 'custom_form_field_args', 10, 3 );
function custom_form_field_args( $args, $key, $value ) {
// your code
return $args;
};
Это находится в wc-template-functions.php в строке 1734, вызваны woocommerce_form_field()
функция в шаблонах WooCommerce под my_account
вложенная папка, form-edit-address.php
файл (отображение полей формы).
Это по умолчанию $args
Вы можете использовать, чтобы нацелить изменения, которые вы хотите сделать внутри вашей функции фильтра:
$defaults = array(
'type' => 'text',
'label' => '',
'description' => '',
'placeholder' => '',
'maxlength' => false,
'required' => false,
'autocomplete' => false,
'id' => $key,
'class' => array(),
'label_class' => array(),
'input_class' => array(),
'return' => false,
'options' => array(),
'custom_attributes' => array(),
'validate' => array(),
'default' => '',
);
ПРИМЕЧАНИЕ: с некоторыми изменениями, сделанными Камень работает. (см. комментарий).
ОБЛАСТЬ ПРИМЕНЕНИЯ:
Вы можете использовать «заполнитель» таким образом, чтобы настроить таргетинг на каждый заполнитель, который необходимо изменить:
if ( $args['id'] == 'your_slug1' ) {
$args['placeholder'] = 'your_new_placeholder1';
} elseif ( $args['id'] == 'your_slug2' ) {
$args['placeholder'] = 'your_new_placeholder2';
} // elseif … and go on
Заполнители обычно одинаковы для адреса выставления счета и доставки … Таким образом, ваш код будет выглядеть так:
add_filter( 'woocommerce_form_field_args', 'custom_form_field_args', 10, 3 );
function custom_form_field_args( $args, $key, $value ) {
if ( $args['id'] == 'your_slug1' ) {
$args['placeholder'] = 'your_new_placeholder1';
} elseif ( $args['id'] == 'your_slug2' ) {
$args['placeholder'] = 'your_new_placeholder2';
} // elseif … and go on
return $args;
};
Других решений пока нет …