在 billing/shipping 表单中自定义占位符
Customizing placehorlder in billing/shipping forms
我正在使用 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;
}
这只适用于结帐页面表单。
如何自定义 'placeholders' 所有运输和账单表格?
谢谢。
如果您指的是 我的帐户 页面中的账单和送货表格,唯一可以解决问题的过滤器挂钩(据我所知)是:
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,由 my_account
子文件夹下的 woocommerce 模板中的 woocommerce_form_field()
函数触发,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' => '',
);
NOTE: With some changes made by Stone it's working. (see the comment).
使用:
您可以使用 '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;
};
我正在使用 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;
}
这只适用于结帐页面表单。
如何自定义 'placeholders' 所有运输和账单表格?
谢谢。
如果您指的是 我的帐户 页面中的账单和送货表格,唯一可以解决问题的过滤器挂钩(据我所知)是:
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,由 my_account
子文件夹下的 woocommerce 模板中的 woocommerce_form_field()
函数触发,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' => '',
);
NOTE: With some changes made by Stone it's working. (see the comment).
使用:
您可以使用 '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;
};