2016-06-02 6 views
1

Я использую фильтр woocommerce_checkout_fields для настройки заполнителей на странице проверки WooCommerce.Настройка placehorlder в биллинговых/отгрузочных формах

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; 
    } 

Эта работа прекрасна только для формы оформления заказа.

Как настроить «заполнители» во всех форматах доставки и выставления счетов?

Спасибо.

ответ

2

Если вы имеете в виду в Моей учетной записи страницы для счетов и формы судоходства, единственным фильтр крюка (что я знаю), что может сделать трюк является:

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 on line 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'   => '', 
); 

Примечание: С некоторыми изменения, внесенные Stone он работает.(см. Комментарий).

ПРИМЕНЕНИЕ:
Вы можете использовать «заполнитель» таким образом, чтобы предназначаться каждый заполнитель вам нужно изменить:

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; 
}; 
+0

Спасибо! @LoicTheAztec ваш solucion совершенен, я использую поле id как '' if ($ args ['id'] == 'billing_first_name') $ args ['placeholder'] = 'Name'; ' – Stone