在 Woocommerce 中更改结帐帐单字段占位符

Gal*_*dad 3 php wordpress checkout placeholder woocommerce

我正在尝试使用以下代码更改结帐页面中“帐单地址 2”的字段占位符:

add_filter( 'woocommerce_checkout_fields' ,  'custom_override_checkout_fields',9999 );

// Our hooked in function - $fields is passed via the filter!
function custom_override_checkout_fields( $fields ) {
   $fields['billing']['billing_address_2']['placeholder']="dssfsd";
   return $fields;
}
Run Code Online (Sandbox Code Playgroud)

它只改变片刻,而不是返回到它的默认值。请参阅以下视频(10 秒):https : //www.youtube.com/watch?v=-qOZ67gFQ98

Loi*_*tec 7

获得它的唯一方法是使用woocommerce_default_address_fields,但它会更改地址 2 结帐字段的帐单和运输占位符:

add_filter( 'woocommerce_default_address_fields', 'custom_override_default_checkout_fields', 10, 1 );
function custom_override_default_checkout_fields( $address_fields ) {
    $address_fields['address_2']['placeholder'] = __( 'dssfsd', 'woocommerce' );

    return $address_fields;
}
Run Code Online (Sandbox Code Playgroud)

代码位于活动子主题(或活动主题)的 function.php 文件中。

测试和工作


现在,如果你想改变只有地址2计费领域占位你会:

  1. 取消设置默认地址 2 字段占位符(用于运输和计费字段)
  2. 仅自定义帐单地址 2 字段占位符
  3. 放回送货地址 2 字段占位符

这是两个挂钩函数的代码:

add_filter( 'woocommerce_default_address_fields', 'custom_override_default_checkout_fields', 10, 1 );
function custom_override_default_checkout_fields( $address_fields ) {
    // Remove labels for "address 2" shipping fields
    unset($address_fields['address_2']['placeholder']);

    return $address_fields;
}

add_filter( 'woocommerce_checkout_fields', 'custom_override_checkout_fields', 90, 1 );
function custom_override_checkout_fields( $fields ) {
    // Add custom billing "address 2" label
    $fields['billing']['billing_address_2']['placeholder'] = __( 'dssfsd', 'woocommerce' );
    // Put back shipping "address 2" label
    $fields['shipping']['shipping_address_2']['placeholder'] = __( 'Apartment, suite, unit etc. (optional)', 'woocommerce' );

    return $fields;
}
Run Code Online (Sandbox Code Playgroud)

代码位于活动子主题(或活动主题)的 function.php 文件中。

测试和工作