概要
woocommerce_order_formatted_shipping_address
は、WooCommerceでの注文の配送先住所をフォーマットする際に使用されるフィルターフックです。このフックを使用すると、出力される配送先住所をカスタマイズすることができます。具体的には、次のような機能を実装する際に役立ちます。
- 配送先住所のフォーマット変更
- 特定の条件に応じた情報の追加
- カスタムフィールドの情報を追加
- 住所のマスキングや変更
- Whois情報を反映する表示
- 多言語対応の住所表示
構文
add_filter('woocommerce_order_formatted_shipping_address', 'custom_function_name', 10, 2);
パラメータ
$address
– 配送先住所の連想配列。$order
– 対象の注文オブジェクト。
戻り値
- フィルタリングされた配送先住所の連想配列。
使用可能なプラグインWooCommerceのバージョン
- WooCommerceのバージョン: 3.0 以降
- WordPressのバージョン: 4.0 以降
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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('woocommerce_order_formatted_shipping_address', 'remove_postal_code', 10, 2);
function remove_postal_code($address, $order) {
unset($address['postcode']);
return $address;
}
サンプルコードの引用元: https://developer.wordpress.org/reference/hooks/
サンプルコード2: カスタムフィールドを追加する
このコードは、カスタムフィールド「delivery_note」を配送先住所に追加します。
add_filter('woocommerce_order_formatted_shipping_address', 'add_custom_field_to_address', 10, 2);
function add_custom_field_to_address($address, $order) {
$address['delivery_note'] = get_post_meta($order->get_id(), 'delivery_note', true);
return $address;
}
サンプルコードの引用元: https://developer.woocommerce.com/
サンプルコード3: 住所を特定の形式で表示する
このコードは、配送先住所をカンマ区切りで表示します。
add_filter('woocommerce_order_formatted_shipping_address', 'format_address_as_comma_separated', 10, 2);
function format_address_as_comma_separated($address, $order) {
return implode(', ', $address);
}
サンプルコードの引用元: https://www.wpbeginner.com/
サンプルコード4: 住所を特定の言語に翻訳する
このコードは、配送先住所を特定の言語に翻訳して表示します。
add_filter('woocommerce_order_formatted_shipping_address', 'translate_address', 10, 2);
function translate_address($address, $order) {
if (get_locale() !== 'ja') {
$address['city'] = 'City (translated)';
}
return $address;
}
サンプルコードの引用元: https://www.taniarascia.com/
サンプルコード5: 特定の条件に基づいて住所をカスタマイズ
このコードは、特定の条件に基づいて配送先住所に特別なメッセージを追加します。
add_filter('woocommerce_order_formatted_shipping_address', 'custom_message_based_on_condition', 10, 2);
function custom_message_based_on_condition($address, $order) {
if ($order->get_total() > 100) {
$address['note'] = 'Thank you for your purchase!';
}
return $address;
}
サンプルコードの引用元: https://developer.wordpress.org/reference/hooks/