ご注意!

この記事には PHP コードが含まれており、開発者を対象としています。このコードは便宜上提供していますが、コードのカスタマイズやサードパーティの開発についてはサポートを提供していません。

追加のガイダンスについては、WPBeginner の カスタムコードの追加方法に関するチュートリアル を参照してください。

閉じる

住所フィールドの追加スキームの作成方法

国ごとに住所フォーマットをカスタマイズしますか? WPFormsでは、デフォルトの米国および国際フォーマットに加えて、カスタム住所スキームを追加できます。

このガイドでは、カナダ、オーストラリア、または必要なカスタムフォーマットなどの国の新しい住所スキームを作成する方法を説明します。

住所スキームの設定

開始するには、サイトにコードスニペットを追加する必要があります。カスタムコードの追加方法がわからない場合は、サイトにコードスニペットを追加する方法に関するガイドを参照してください。

ここに、カナダの住所フォーマットを作成するためのコードスニペットがあります。

/**
 * Add new address field scheme for Canada
 *
 * @link https://wpforms.com/developers/create-additional-schemes-for-the-address-field
 */
function wpf_dev_new_address_scheme( $schemes ) {
    $my_form_id = 1000; // Replace with your form ID
    
    $schemes['canada'] = array(
        'label' => 'Canada',
        'address1_label' => 'Address Line 1',
        'address2_label' => 'Address Line 2',
        'city_label' => 'City',
        'postal_label' => 'Code Postal',
        'state_label' => 'Province',
        'states' => array(
            'BC' => 'British Columbia',
            'ON' => 'Ontario',
            'QC' => 'Quebec',
            'AB' => 'Alberta',
            'MB' => 'Manitoba',
            'NB' => 'New Brunswick',
            'NL' => 'Newfoundland and Labrador',
            'NT' => 'Northwest Territories',
            'NS' => 'Nova Scotia',
            'NU' => 'Nunavut',
            'PE' => 'Prince Edward Island',
            'SK' => 'Saskatchewan',
            'YT' => 'Yukon',
        ),
    );
    return $schemes;
}
add_filter( 'wpforms_address_schemes', 'wpf_dev_new_address_scheme', 10, 1 );

オーストラリアの住所フォーマットには、このコードを使用してください。

/**
 * Add new address field scheme for Australia
 *
 * @link https://wpforms.com/developers/create-additional-schemes-for-the-address-field
 */
function wpf_dev_new_address_scheme( $schemes ) {
    $schemes['australia'] = array(
        'label' => 'Australia',
        'address1_label' => 'Address Line 1',
        'address2_label' => 'Address Line 2',
        'city_label' => 'City',
        'postal_label' => 'Postal',
        'state_label' => 'State / Territory',
        'states' => array(
            'NSW' => 'New South Wales',
            'VIC' => 'Victoria',
            'QLD' => 'Queensland',
            'WA' => 'Western Australia',
            'SA' => 'South Australia',
            'TAS' => 'Tasmania',
            'ACT' => 'Australia Capital Territory',
            'NT' => 'Northern Territory',
        ),
    );
    return $schemes;
}
add_filter( 'wpforms_address_schemes', 'wpf_dev_new_address_scheme', 10, 1 );

新しい住所スキームの使用

コードを追加したら、新しいフォームを作成するか、既存のフォームを編集します。フォームに住所フィールドを追加し、フィールド設定のスキームドロップダウンを探します。新しい住所スキームがオプションとして表示されます。

住所フォームフィールドのスキームドロップダウンから、住所フィールドの追加スキームを選択できるようになりました。

上記のいずれか(または両方)のスニペットを使用すると、新しい追加の住所スキームが追加されました。住所フィールドのサブラベルの変更方法を学びたいですか? 住所フィールドのサブラベルを変更する方法の記事を試してみてください。

よくある質問

Q: カスタム住所スキームを作成して、すべての国をリストすることはできますか?

A: もちろんです!独自の住所スキームを作成してすべての国をリストするには、次のコードスニペットを使用します。これはニーズに合わせてカスタマイズするだけです。

Q: 住所スキームで特定のフィールドを非表示にするにはどうすればよいですか?

A: 米国および国際スキームでは、フォームビルダーの高度なタブを使用して、住所2、郵便番号、国フィールドを非表示にできます。

スイッチを切り替えて、国際住所スキームで表示したくない特定のフィールドを非表示にする

他のフィールドを非表示にする必要がある場合は、特定のフォームとフィールドIDをターゲットにするCSSを使用できます。たとえば、次のようになります。

input#wpforms-41-field_6-state, 
label[for="wpforms-41-field_6-state"] {
    visibility: hidden;
}

この例のスニペットは、フォームID41とフィールドID(住所フィールド用)6都道府県フィールドとラベルを非表示にしていることを示しています。これらのIDは、ご自身のIDに合わせて更新する必要があります。これらのIDの検索方法についてサポートが必要な場合は、この便利なガイドを参照してください。

住所フィールドが必須フィールドの場合、CSSでフィールドを非表示にすることは推奨しません。そうすると、住所フィールドの検証に失敗します。

これで完了です!これで、住所フィールドの追加スキームを作成する方法がわかりました。次に、住所フィールドラベルをカスタマイズする方法を学びたいですか?詳細については、住所フィールドのサブラベルを変更するガイドを確認してください。

参照フィルター

wpforms_address_schemes