在 Woocommerce 3+ 中自定义一些结帐字段属性
Customize some checkout fields properties in Woocommerce 3+
我已经通过 WooCommerce 设置更新了购物车字段的占位符,如下所示:
但是在前端,之前的占位符仍然存在:
我还使用了以下代码,改编自另一个旨在覆盖占位符内容的 Whosebug 线程,但默认值仍然存在。
add_filter('woocommerce_default_address_fields', 'override_default_address_checkout_fields', 20, 1);
function override_default_address_checkout_fields( $address_fields ) {
$address_fields['state']['placeholder'] = 'State';
$address_fields['postcode']['placeholder'] = 'Postcode';
return $address_fields;
}
请告知我如何才能获得所需的占位符文本!
在 woocommerce 默认情况下,没有您描述的设置。因此,您正在使用第三方插件来自定义字段。所以你需要尝试多种挂钩优先级更高的方式。
所以一一尝试:
1).使用 woocommerce_default_address_fields
过滤器挂钩 (具有更高优先级的挂钩):
add_filter('woocommerce_default_address_fields', 'customize_default_address_fields', 10000, 1 );
function customize_default_address_fields( $address_fields ) {
$address_fields['state']['placeholder'] = __('State', 'woocommerce');
$address_fields['postcode']['placeholder'] = __('Postcode', 'woocommerce');
return $address_fields;
}
2).使用 woocommerce_checkout_fields
过滤器钩子:
add_filter('woocommerce_checkout_fields', 'customize_checkout_fields', 10000, 1 );
function customize_checkout_fields( $fields ) {
$fields['billing']['billing_state']['placeholder'] = __('State', 'woocommerce');
$fields['shipping']['shipping_state']['placeholder'] = __('State', 'woocommerce');
$fields['billing']['billing_postcode']['placeholder'] = __('Postcode', 'woocommerce');
$fields['shipping']['shipping_postcode']['placeholder'] = __('Postcode', 'woocommerce');
return $fields;
}
3).使用 woocommerce_billing_fields
和 woocommerce_shipping_fields
过滤器挂钩:
add_filter('woocommerce_billing_fields', 'customize_billing_fields', 10000, 1 );
function customize_billing_fields( $billing_fields ) {
$billing_fields['billing_state']['placeholder'] = __('State', 'woocommerce');
$billing_fields['billing_postcode']['placeholder'] = __('Postcode', 'woocommerce');
return $billing_fields;
}
add_filter('woocommerce_shipping_fields', 'customize_shipping_fields', 10000, 1 );
function customize_shipping_fields( $shipping_fields ) {
$shipping_fields['shipping_state']['placeholder'] = __('State', 'woocommerce');
$shipping_fields['shipping_postcode']['placeholder'] = __('Postcode', 'woocommerce');
return $shipping_fields;
}
所有代码都在您的活动子主题(或活动主题)的 function.php 文件中。
我希望其中之一能奏效。如果没有第三方插件,这些代码中的每一个都可以完美运行。
我已经通过 WooCommerce 设置更新了购物车字段的占位符,如下所示:
但是在前端,之前的占位符仍然存在:
我还使用了以下代码,改编自另一个旨在覆盖占位符内容的 Whosebug 线程,但默认值仍然存在。
add_filter('woocommerce_default_address_fields', 'override_default_address_checkout_fields', 20, 1);
function override_default_address_checkout_fields( $address_fields ) {
$address_fields['state']['placeholder'] = 'State';
$address_fields['postcode']['placeholder'] = 'Postcode';
return $address_fields;
}
请告知我如何才能获得所需的占位符文本!
在 woocommerce 默认情况下,没有您描述的设置。因此,您正在使用第三方插件来自定义字段。所以你需要尝试多种挂钩优先级更高的方式。
所以一一尝试:
1).使用 woocommerce_default_address_fields
过滤器挂钩 (具有更高优先级的挂钩):
add_filter('woocommerce_default_address_fields', 'customize_default_address_fields', 10000, 1 );
function customize_default_address_fields( $address_fields ) {
$address_fields['state']['placeholder'] = __('State', 'woocommerce');
$address_fields['postcode']['placeholder'] = __('Postcode', 'woocommerce');
return $address_fields;
}
2).使用 woocommerce_checkout_fields
过滤器钩子:
add_filter('woocommerce_checkout_fields', 'customize_checkout_fields', 10000, 1 );
function customize_checkout_fields( $fields ) {
$fields['billing']['billing_state']['placeholder'] = __('State', 'woocommerce');
$fields['shipping']['shipping_state']['placeholder'] = __('State', 'woocommerce');
$fields['billing']['billing_postcode']['placeholder'] = __('Postcode', 'woocommerce');
$fields['shipping']['shipping_postcode']['placeholder'] = __('Postcode', 'woocommerce');
return $fields;
}
3).使用 woocommerce_billing_fields
和 woocommerce_shipping_fields
过滤器挂钩:
add_filter('woocommerce_billing_fields', 'customize_billing_fields', 10000, 1 );
function customize_billing_fields( $billing_fields ) {
$billing_fields['billing_state']['placeholder'] = __('State', 'woocommerce');
$billing_fields['billing_postcode']['placeholder'] = __('Postcode', 'woocommerce');
return $billing_fields;
}
add_filter('woocommerce_shipping_fields', 'customize_shipping_fields', 10000, 1 );
function customize_shipping_fields( $shipping_fields ) {
$shipping_fields['shipping_state']['placeholder'] = __('State', 'woocommerce');
$shipping_fields['shipping_postcode']['placeholder'] = __('Postcode', 'woocommerce');
return $shipping_fields;
}
所有代码都在您的活动子主题(或活动主题)的 function.php 文件中。
我希望其中之一能奏效。如果没有第三方插件,这些代码中的每一个都可以完美运行。