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

概要

woocommerce_shipping_package_details_array フィルタは、WooCommerceの配送パッケージ情報をカスタマイズするために使用されるフックです。このフィルタを使用することで、配送パッケージの詳細を変更したり、追加情報を表示したりすることができます。以下はこのフィルタが有用な具体的なケースです:

  1. カスタム配送メッセージの追加
  2. パッケージ情報の形式を変更
  3. 特定の条件に基づく追加情報の表示
  4. 配送方法ごとのカスタム情報の表示
  5. 複数の配送パッケージに対する情報の整形
  6. 特定の商品の配送情報の強調

構文

add_filter( 'woocommerce_shipping_package_details_array', 'your_function_name', 10, 2 );

パラメータ

  • $package_details (array): 配送パッケージの詳細情報。
  • $package (array): 現在の配送パッケージの情報。

戻り値

  • array: 修正された配送パッケージの詳細情報を返します。

使用可能なバージョン

  • 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: カスタム shipping メッセージの追加

add_filter( 'woocommerce_shipping_package_details_array', 'add_custom_shipping_message', 10, 2 );

function add_custom_shipping_message( $package_details, $package ) {
    $package_details['custom_message'] = 'ご注文いただきありがとうございます!';
    return $package_details;
}

このサンプルでは、配送パッケージにカスタムメッセージを追加しています。

サンプル2: 配送方法ごとの特定の情報を表示

add_filter( 'woocommerce_shipping_package_details_array', 'display_shipping_method_info', 10, 2 );

function display_shipping_method_info( $package_details, $package ) {
    if ( isset( $package['method_id'] ) && $package['method_id'] === 'flat_rate' ) {
        $package_details['method_info'] = 'フラットレートの発送です。';
    }
    return $package_details;
}

このサンプルは、フラットレートの配送方法を使用している場合に特定の情報を追加します。

サンプル3: 不明な配送情報の警告をカスタマイズ

add_filter( 'woocommerce_shipping_package_details_array', 'customize_unknown_shipping_warning', 10, 2 );

function customize_unknown_shipping_warning( $package_details, $package ) {
    if ( empty( $package['method_id'] ) ) {
        $package_details['warning'] = '配送方法が不明です。';
    }
    return $package_details;
}

この例では、配送方法が未設定の場合に警告メッセージを追加しています。

サンプル4: 配送パッケージの合計重量を表示

add_filter( 'woocommerce_shipping_package_details_array', 'add_package_weight', 10, 2 );

function add_package_weight( $package_details, $package ) {
    $weight = isset($package['contents_weight']) ? $package['contents_weight'] : 0;
    $package_details['weight'] = $weight . ' kg';
    return $package_details;
}

このサンプルは、配送パッケージの合計重量を表示します。

サンプル5: 複数の配送パッケージに情報を表示

add_filter( 'woocommerce_shipping_package_details_array', 'add_multiple_package_info', 10, 2 );

function add_multiple_package_info( $package_details, $package ) {
    $package_details['info'] = 'このパッケージは他のパッケージと組み合わされています。';
    return $package_details;
}

この例では、複数の配送パッケージが存在することを示す情報を追加します。

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


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