bugfix> woocommerce > 投稿

Woocommerceチェックアウトページのbilling_address_2フィールドのラベルを設定/表示しようとしていますが、これを行う方法が見つかりません。誰もが解決策を知っていますか?

以下のコード(他のフィールドで正常に動作します)は、仕事をしません。

add_filter( 'woocommerce_checkout_fields' , 'custom_rename_wc_checkout_fields' );
function custom_rename_wc_checkout_fields( $fields ) {
    $fields['billing']['billing_address_2']['label'] = 'Building number';
    return $fields;
}

回答 1 件
  • 将来の読者のために、この質問を回答で更新します。

    WooCommerce 3.5.1では、コミット87054ece9a4c05db72e139730ed1764c63fab635に「スクリーンリーダーテキスト'課題#21182に記載されているように、アクセシビリティのために、請求先住所と配送先住所2の両方のフィールドにlabel_classを追加します。このクラスは、ラベルが変更されない限り、ラベルを非表示にします(たとえば、アドレス1フィールドのように空白にします)。

    次に、functions.phpを更新してbilling/shipping_address_2ラベルを戻す方法を示します(簡潔にするためにコードに含めなかった他のフィールドに変更を加えたため、個別の請求/発送フィルターを使用しています)。

    // Billing Fields.
    add_filter( 'woocommerce_billing_fields', 'custom_woocommerce_billing_fields' );
    function custom_woocommerce_billing_fields( $fields ) {
        $fields['billing_address_2']['label'] = 'Address 2';
        $fields['billing_address_2']['label_class'] = '';
        return $fields;
    }
    // Shipping Fields.
    add_filter( 'woocommerce_shipping_fields', 'custom_woocommerce_shipping_fields' );
    function custom_woocommerce_shipping_fields_custom( $fields ) {
        $fields['shipping_address_2']['label'] = 'Address 2';
        $fields['shipping_address_2']['label_class'] = '';
        return $fields;
    }
    
    

あなたの答え