Я использую фильтр 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; }
Эта работа прекрасна только для формы страницы оформления.
Как настроить «заполнители» во всех форматах доставки и биллинга?
Благодарю.
Если вы имеете в виду страницы « Мои учетные записи» для формы «Биллинг и доставка», единственный крючок фильтра (который я знаю), который может сделать трюк:
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()
в шаблонах my_account
под my_account
, form-edit-address.php
file (отображает поля формы).
Это $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' => '', );
ПРИМЕЧАНИЕ. С некоторыми изменениями, сделанными Стоном, он работает. (см. комментарий) .
ОБЛАСТЬ ПРИМЕНЕНИЯ:
Вы можете использовать «placeholder» таким образом, чтобы настроить таргетинг на каждый заполнитель, который вам нужно изменить:
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; };