概要
woocommerce_shipping_rate_label
フィルタは、WooCommerce の配送料金のラベルを変更するために使用されます。このフィルタを使うことで、特定の条件に基づいて配送料金の表示をカスタマイズすることができます。以下はこのフィルタがよく使われる機能の例です。
- 配送方法名の翻訳
- 配送オプションにカスタムテキストを追加
- 配送オプションのアイコン表示
- 表示される価格のフォーマット変更
- 特定の条件下でのラベルの非表示
- ユーザーの地域に基づくラベルの変更
構文
add_filter( 'woocommerce_shipping_rate_label', 'custom_shipping_rate_label', 10, 2 );
woocommerce_shipping_rate_label
: フィルターフックの名前custom_shipping_rate_label
: コールバック関数の名前10
: 優先度(デフォルト値)2
: 受け取る引数の数
パラメータ
$label
(string): 現在のラベル$method
(WC_Shipping_Method): 配送メソッドのオブジェクト
戻り値
$label
(string): キャンセルされた場合に変更されたラベル
プラグイン及びワードプレスのバージョン
WooCommerce: 2.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: 配送方法を翻訳する
add_filter( 'woocommerce_shipping_rate_label', 'translate_shipping_labels', 10, 2 );
function translate_shipping_labels( $label, $method ) {
if ( $method->id === 'flat_rate' ) {
return '平置き配送料';
}
return $label;
}
このコードは、フラットレート配送のラベルを日本語の「平置き配送料」に変更します。
サンプル2: 特定の条件でラベルを変更する
add_filter( 'woocommerce_shipping_rate_label', 'conditional_shipping_label', 10, 2 );
function conditional_shipping_label( $label, $method ) {
if ( WC()->customer->get_shipping_country() === 'JP' ) {
return '日本国内配送';
}
return $label;
}
このコードは、配送先が日本の場合にラベルを「日本国内配送」に変更します。
サンプル3: カスタムテキストを追加する
add_filter( 'woocommerce_shipping_rate_label', 'add_custom_text_to_shipping_label', 10, 2 );
function add_custom_text_to_shipping_label( $label, $method ) {
return $label . ' (追加料金が発生する場合があります)';
}
このコードは、全ての配送ラベルに「(追加料金が発生する場合があります)」というテキストを追加します。
サンプル4: 配送料金にアイコンを追加する
add_filter( 'woocommerce_shipping_rate_label', 'add_icon_to_shipping_label', 10, 2 );
function add_icon_to_shipping_label( $label, $method ) {
return '<img src="icon_url_here" alt="アイコン" /> ' . $label;
}
このコードは、各配送ラベルの前にアイコンを表示します。
サンプル5: 条件に応じてラベルを非表示にする
add_filter( 'woocommerce_shipping_rate_label', 'hide_shipping_label_in_condition', 10, 2 );
function hide_shipping_label_in_condition( $label, $method ) {
if ( is_cart() && WC()->cart->total < 5000 ) {
return '';
}
return $label;
}
このコードは、カートの合計が5000円未満の場合に配送ラベルを非表示にします。