概要
woocommerce_shipping_address_map_urlフィルタは、WooCommerceの注文画面および顧客のアカウントページに表示される配送先住所の地図リンクをカスタマイズする際に使用されます。このフィルタを利用することで、デフォルトの地図サービス(Google Mapsなど)に代わって異なるサービスを設定したり、地図の表示URLを変更したりすることが可能です。
以下は、woocommerce_shipping_address_map_urlがよく使われる場面の例です:
- 特定の地図サービスのURLを使用したい場合
- カスタムマーカやスタイルを地図に追加したい場合
- 地図のズームレベルや中心点を変更したい場合
- 住所の整形を行いたい場合(郵便番号の追加など)
- 地図にプロモーションやアフィリエイトリンクを追加したい場合
- 配送エリアに関連するカスタム情報を表示したい場合
構文
add_filter( 'woocommerce_shipping_address_map_url', 'your_custom_function', 10, 2 );
パラメータ
$map_url(string): デフォルトの地図URL$order(WC_Order): 現在の注文オブジェクト
戻り値
- (string): フィルタリングされた地図URL。過去のURLを変更して返すことができる。
使用可能なプラグインのバージョン
- WooCommerce: 3.0.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: Google Mapsを使った地図リンクの変更
add_filter( 'woocommerce_shipping_address_map_url', 'custom_shipping_address_map_url', 10, 2 );
function custom_shipping_address_map_url( $map_url, $order ) {
$address = urlencode( $order->get_shipping_address_1() . ' ' . $order->get_shipping_city() );
return 'https://maps.google.com?q=' . $address;
}
このサンプルコードは、WooCommerceの注文から取得した配送先住所をGoogle Mapsの検索URLにエンコードして表示します。これにより、顧客がより利用しやすい地図リンクが提供されます。
出典: https://developer.woocommerce.com/
サンプルコード 2: カスタム地図サービスへのリンクを作成
add_filter( 'woocommerce_shipping_address_map_url', 'custom_map_service_url', 10, 2 );
function custom_map_service_url( $map_url, $order ) {
$address = urlencode( $order->get_shipping_address_1() . ' ' . $order->get_shipping_city() );
return 'https://custommapservice.com/find?address=' . $address;
}
このコードは、配送先の住所をカスタム地図サービスの検索URLに変換し、異なる地図オプションを顧客に提供します。
出典: https://woocommerce.com/
サンプルコード 3: 地図のズームレベルを指定
add_filter( 'woocommerce_shipping_address_map_url', 'custom_map_with_zoom', 10, 2 );
function custom_map_with_zoom( $map_url, $order ) {
$address = urlencode( $order->get_shipping_address_1() . ' ' . $order->get_shipping_city() );
return 'https://maps.google.com?q=' . $address . '&z=15';
}
このコードでは、地図のズームレベルを15に設定して、顧客がより詳細な地図情報を得られるようにします。
出典: https://woocommerce.com/
サンプルコード 4: 配送エリア情報の追加
add_filter( 'woocommerce_shipping_address_map_url', 'include_shipping_area', 10, 2 );
function include_shipping_area( $map_url, $order ) {
$area = urlencode( $order->get_meta('shipping_area') );
return $map_url . '&area=' . $area;
}
このサンプルでは、配送料金に関連するエリア情報を地図URLに追加することによって、特定の地域に関する情報を提供します。
出典: https://woocommerce.com/
サンプルコード 5: アドレス整形のカスタマイズ
add_filter( 'woocommerce_shipping_address_map_url', 'format_shipping_address_for_map', 10, 2 );
function format_shipping_address_for_map( $map_url, $order ) {
$address = $order->get_shipping_address_1() . ', ' . $order->get_shipping_city() . ' ' . $order->get_shipping_postcode();
return 'https://maps.google.com?q=' . urlencode( $address );
}
このコードは、配送先住所を整形し、郵便番号を包括することで、顧客がより正確な地図情報を得られるようにします。
出典: https://woocommerce.com/