概要
wpforms_address_schemes
フィルタは、WordPressのWPFormsプラグインにおいて、住所フィールドの表示形式や構成方法を変更するために使用されます。このフィルタを利用することで、デフォルトの住所フォーマットをカスタマイズしたり、新しい住所形式を追加することが可能です。主な利用シーンとしては、以下のような機能実装が考えられます。
- 自国や地域特有の住所フォーマットの追加
- 住所フィールドの項目順序のカスタマイズ
- 特定のユーザーグループに応じたカスタム住所形式の適用
- 地理情報の表示方法を変更
- スマートフォン向けの住所入力方式の最適化
- 多言語対応の住所形式の実装
構文
add_filter('wpforms_address_schemes', 'custom_address_schemes');
パラメータ
- $schemes: 既存の住所形式の配列。ユーザーはこの配列を編集して新しい形式を追加または古い形式を変更できます。
戻り値
- 新しいまたは変更された住所形式の配列を返します。
利用可能なバージョン
- WPForms: バージョン1.5.0以降
- WordPress: バージョン4.7以降
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプル1: 日本式住所フォーマットの追加
add_filter('wpforms_address_schemes', function($schemes) {
$schemes[] = array(
'name' => '日本',
'fields' => array(
'postal_code' => __('郵便番号', 'wpforms'),
'prefecture' => __('都道府県', 'wpforms'),
'city' => __('市区町村', 'wpforms'),
'street' => __('町名・番地', 'wpforms'),
'building' => __('建物名', 'wpforms'),
),
);
return $schemes;
});
このコードは、日本式の住所フォーマットをWPFormsの住所フィールドに追加します。
サンプル2: 特殊な住所順序の設定
add_filter('wpforms_address_schemes', function($schemes) {
foreach ($schemes as $key => $scheme) {
if ($scheme['name'] === 'Default') {
$schemes[$key]['fields'] = array(
'street',
'city',
'state',
'country',
'postal_code'
);
}
}
return $schemes;
});
このコードは、デフォルトの住所形式のフィールドの順序をカスタマイズします。
サンプル3: カスタムフィールドの追加
add_filter('wpforms_address_schemes', function($schemes) {
$schemes[] = array(
'name' => 'Custom',
'fields' => array(
'street' => __('Street', 'wpforms'),
'info' => __('Additional Info', 'wpforms'),
),
);
return $schemes;
});
このコードは、カスタムアドレス形式に追加情報のフィールドを追加します。
サンプル4: 複数言語対応住所形式の実装
add_filter('wpforms_address_schemes', function($schemes) {
$schemes[] = array(
'name' => 'Multi-language',
'fields' => array(
'street' => __('Street', 'wpforms'),
'city' => __('City', 'wpforms'),
'country' => __('Country', 'wpforms'),
'postal' => __('Postal Code', 'wpforms'),
),
);
return $schemes;
});
このコードは、マルチランゲージ対応の住所形式を追加します。
サンプル5: フィールドの非表示設定
add_filter('wpforms_address_schemes', function($schemes) {
foreach ($schemes as $key => $scheme) {
if ($scheme['name'] === 'Default') {
unset($schemes[$key]['fields']['building']);
}
}
return $schemes;
});
このコードは、デフォルトの住所形式から「建物名」フィールドを非表示にします。