プラグインWooCommerceのwoocommerce_order_shipping_to_display_shipped_viaフィルタの使用方法・解説

概要

woocommerce_order_shipping_to_display_shipped_via フィルタは、WooCommerceの注文に関連する配送料の表示方法をカスタマイズするために使用されます。このフィルタを利用することで、配送業者の表示名を変更したり、追加の情報を付加したりすることができます。一般的に、次のような機能を実装する際に使用されることが多いです:

  1. 配送業者のカスタマイズ
  2. 追加情報の表示(例:追跡番号)
  3. 配送方法のロゴを表示する
  4. 地域別の配送業者情報を動的に変更する
  5. 複数の配送方法を統一する
  6. 独自の出荷条件を満たす配送業者を表示する

このフィルタは、WooCommerceバージョン3.0以降で使用可能で、WordPressのバージョンは4.0以降で動作します。

構文

add_filter( 'woocommerce_order_shipping_to_display_shipped_via', 'your_function', 10, 2 );

パラメータ

  • string $method_title – 配送業者の表示名。
  • WC_Order $order – 注文オブジェクト。

戻り値

  • string – フィルタ処理された配送料の表示名。

この関数のアクションでの使用可能性

アクション 使用可能性
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_shipping_to_display_shipped_via', 'custom_shipping_method_label', 10, 2 );

function custom_shipping_method_label( $method_title, $order ) {
    if ( 'UPS' === $method_title ) {
        return 'United Parcel Service';
    }
    return $method_title;
}

このコードは、配送料の表示名が「UPS」の場合、配送業者名を「United Parcel Service」に変更します。

サンプルコード2

add_filter( 'woocommerce_order_shipping_to_display_shipped_via', 'add_tracking_number_to_shipping_method', 10, 2 );

function add_tracking_number_to_shipping_method( $method_title, $order ) {
    $tracking_number = get_post_meta( $order->get_id(), '_tracking_number', true );
    if ( $tracking_number ) {
        return $method_title . ' (Tracking: ' . esc_html( $tracking_number ) . ')';
    }
    return $method_title;
}

このコードは、注文に関連付けられた追跡番号を配送業者の表示名に追加します。

サンプルコード3

add_filter( 'woocommerce_order_shipping_to_display_shipped_via', 'custom_logo_for_shipping_method', 10, 2 );

function custom_logo_for_shipping_method( $method_title, $order ) {
    if ( 'FedEx' === $method_title ) {
        return 'FedEx <img src="' . esc_url( get_template_directory_uri() ) . '/images/fedex-logo.png" alt="FedEx Logo" />';
    }
    return $method_title;
}

このコードは、FedExの配送方法の表示名にロゴを追加します。

サンプルコード4

add_filter( 'woocommerce_order_shipping_to_display_shipped_via', 'change_shipping_method_label_based_on_country', 10, 2 );

function change_shipping_method_label_based_on_country( $method_title, $order ) {
    $shipping_country = $order->get_shipping_country();

    if ( 'JP' === $shipping_country && 'DHL' === $method_title ) {
        return 'DHL Japan';
    }
    return $method_title;
}

このコードは、注文の配送先国が日本の場合、DHLの配送方法の表示名を「DHL Japan」に変更します。

サンプルコード5

add_filter( 'woocommerce_order_shipping_to_display_shipped_via', 'conditional_shipping_method_display', 10, 2 );

function conditional_shipping_method_display( $method_title, $order ) {
    if ( $order->get_total() > 100 ) {
        return $method_title . ' - Free Shipping';
    }
    return $method_title;
}

このコードは、合計金額が100を超える場合、配送業者の表示名に「Free Shipping」を追加します。

この関数について質問する


上の計算式の答えを入力してください