概要
woocommerce_shipping_package_name
フィルタは、WooCommerceにおいて、配送パッケージの名前をカスタマイズするために使用されます。このフィルタを利用することで、特定の条件に基づいて出荷パッケージの名称を変更したり、複数の配送オプションを統合したりすることができます。一般的にこのフィルタは次のような場合に使用されます。
- カスタム配送エリアのマッピング
- 異なる配送方法を持つ商品の名称変更
- 地域や顧客に基づいたカスタムパッケージ名
- 複数の商品の同時出荷時のパッケージ名の統一
- 特別なプロモーションやセールに対応したパッケージ名の変更
- マルチショップ環境でのパッケージ名の調整
構文
add_filter( 'woocommerce_shipping_package_name', 'callback_function', 10, 2 );
パラメータ
$package_name
(string): 現在の配送パッケージ名$i
(int): 複数の配送パッケージがある場合、そのインデックス
戻り値
- 変更された配送パッケージ名 (string)
使用可能なバージョン
- WooCommerce: 3.0 以降
- WordPress: 4.5 以降
サンプルコード
サンプルコード1: シンプルなパッケージ名変更
add_filter( 'woocommerce_shipping_package_name', 'change_package_name', 10, 2 );
function change_package_name( $package_name, $i ) {
return '特別配送パッケージ - ' . ($i + 1);
}
このコードは、配送パッケージの名前を「特別配送パッケージ」とし、インデックスに基づいて番号を付け加えます。
サンプルコード2: 地域に基づくパッケージ名
add_filter( 'woocommerce_shipping_package_name', 'custom_region_package_name', 10, 2 );
function custom_region_package_name( $package_name, $i ) {
$customer_country = WC()->customer->get_shipping_country();
if ( $customer_country === 'JP' ) {
return '日本向け配送パッケージ';
}
return $package_name;
}
このコードは、顧客の国に基づいて配送パッケージの名前を変更し、日本向けの場合は特別な名称を使用します。
サンプルコード3: 商品タイプによるパッケージ名変更
add_filter( 'woocommerce_shipping_package_name', 'product_type_package_name', 10, 2 );
function product_type_package_name( $package_name, $i ) {
$cart_items = WC()->cart->get_cart();
foreach ( $cart_items as $cart_item ) {
if ( $cart_item['data']->get_type() === 'simple' ) {
return 'シンプル商品パッケージ';
}
}
return $package_name;
}
この例では、カート内にシンプルタイプの商品がある場合、パッケージ名を「シンプル商品パッケージ」に変更します。
サンプルコード4: 特定商品の組み合わせによるパッケージ名
add_filter( 'woocommerce_shipping_package_name', 'combo_product_package_name', 10, 2 );
function combo_product_package_name( $package_name, $i ) {
$combo_product_id = 123; // 特定商品のID
if ( WC()->cart->find_product_in_cart( $combo_product_id ) ) {
return 'コンボパッケージ';
}
return $package_name;
}
このコードでは、特定の商品がカートに入っている場合に、配送パッケージ名を「コンボパッケージ」に変更します。
サンプルコード5: カスタムフラグによるパッケージ名変更
add_filter( 'woocommerce_shipping_package_name', 'custom_flag_package_name', 10, 2 );
function custom_flag_package_name( $package_name, $i ) {
if ( get_option( 'custom_shipping_flag' ) === 'yes' ) {
return 'カスタムフラッグパッケージ';
}
return $package_name;
}
このコードでは、カスタムオプションに基づいて、特定の条件が満たされた場合にパッケージ名を変更します。
この関数のアクションでの使用可能性
アクション | 使用可能 |
---|---|
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 |