概要
woocommerce_shipping_package_details_array
フィルタは、WooCommerceの配送パッケージ情報をカスタマイズするために使用されるフックです。このフィルタを使用することで、配送パッケージの詳細を変更したり、追加情報を表示したりすることができます。以下はこのフィルタが有用な具体的なケースです:
- カスタム配送メッセージの追加
- パッケージ情報の形式を変更
- 特定の条件に基づく追加情報の表示
- 配送方法ごとのカスタム情報の表示
- 複数の配送パッケージに対する情報の整形
- 特定の商品の配送情報の強調
構文
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;
}
この例では、複数の配送パッケージが存在することを示す情報を追加します。