概要
woocommerce_order_get_formatted_shipping_address
フィルタは、WooCommerceで注文の配送先住所を加工・整形するために使用されるフックです。このフィルタを利用することで、配送先住所のフォーマットを変更したり、独自のフィールドを追加したりすることができます。
よく使われる機能の例は以下の通りです:
- 配送先住所に特定のテキストを追加する
- 郵便番号の表記をカスタマイズする
- 配送先住所の順序を変更する
- 特定の条件に基づいて住所情報を変更する
- 配送業者に合わせた住所形式で出力する
- 管理画面や顧客向けのメールで見やすい住所形式にカスタマイズする
このフィルタは、WooCommerceのすべてのバージョンで利用可能で、WordPressのバージョン4.0以上で動作します。
構文
add_filter( 'woocommerce_order_get_formatted_shipping_address', 'custom_function_name', 10, 2 );
パラメータ
$address
(array): 整形された配送先住所の配列。$order
(WC_Order): 対象の注文オブジェクト。
戻り値
- 整形された配送先住所の文字列。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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_get_formatted_shipping_address', 'add_custom_text_to_shipping_address', 10, 2 );
function add_custom_text_to_shipping_address( $address, $order ) {
$address .= '<br>特記事項: お届け先の注意点をここに記載。';
return $address;
}
このサンプルは、配送先住所の末尾に「特記事項: お届け先の注意点をここに記載。」というテキストを追加します。
サンプル2: 郵便番号の形式をカスタマイズ
add_filter( 'woocommerce_order_get_formatted_shipping_address', 'customize_postal_code_format', 10, 2 );
function customize_postal_code_format( $address, $order ) {
// 郵便番号部分の整形
$address = str_replace( '〒', '', $address );
return $address;
}
このサンプルは、日本の郵便番号形式である「〒」を削除し、整形します。
サンプル3: 配送先住所の順序を変更
add_filter( 'woocommerce_order_get_formatted_shipping_address', 'reorder_shipping_address', 10, 2 );
function reorder_shipping_address( $address, $order ) {
$address_parts = explode( '<br>', $address );
// 配送先の都道府県を最初に表示
$new_address = $address_parts[2] . '<br>' . implode( '<br>', $address_parts );
return $new_address;
}
このサンプルは、配送先住所の都道府県を最初に表示するように順序を変更します。
サンプル4: 特定の条件に基づいて住所情報を変更
add_filter( 'woocommerce_order_get_formatted_shipping_address', 'conditional_shipping_address_formatting', 10, 2 );
function conditional_shipping_address_formatting( $address, $order ) {
if ( $order->get_meta( 'special_shipping' ) ) {
$address = '<strong>特別配達:</strong><br>' . $address;
}
return $address;
}
このサンプルは、特定のメタ情報(特別配達)を持つ場合に、配送先住所に「特別配達:」というラベルを追加します。
サンプル5: 配送業者に合わせた住所形式で出力
add_filter( 'woocommerce_order_get_formatted_shipping_address', 'format_address_for_courier', 10, 2 );
function format_address_for_courier( $address, $order ) {
$address = str_replace( '<br>', ' | ', $address ); // 住所の区切りを変更
return $address;
}
このサンプルは、住所の区切りを <br>
から |
に変更し、特定の配送業者向けにフォーマットを調整します。