プラグインWooCommerceのwoocommerce_after_shipping_rateアクションの使用方法・解説

概要

woocommerce_after_shipping_rateアクションは、WooCommerceでの配送オプションが表示された後に実行されるフックです。このアクションは、追加の情報を表示したり、特定の条件に基づいてカスタマイズを行う際に便利です。具体的には、以下の機能を実装する際によく使用されます:

  1. 配送料金の下にカスタムメッセージを表示する
  2. 特定の条件に基づいて追加の手数料を計算する
  3. 商品の重さや寸法による配送料の調整
  4. プロモーションや特別オファーの表示
  5. 配送方法に応じた異なるメッセージの表示
  6. ユーザーの地域に基づいた情報の表示

構文

do_action( 'woocommerce_after_shipping_rate', $method, $index );

パラメータ

  • $method:利用可能な配送方法(オブジェクト)
  • $index:配送料金のインデックス(整数)

戻り値

このアクションは戻り値を返しませんが、フック内で出力を行うことができます。

使用可能なプラグイン / バージョン

  • WooCommerceのバージョン:3.0.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_action( 'woocommerce_after_shipping_rate', 'custom_message_after_shipping', 10, 2 );

function custom_message_after_shipping( $method, $index ) {
    echo '<p>こちらの配送方法をご利用いただけます。</p>';
}

このサンプルでは、すべての配送オプションの下にカスタムメッセージを表示しています。

サンプルコード 2

add_action( 'woocommerce_after_shipping_rate', 'conditional_shipping_fee', 10, 2 );

function conditional_shipping_fee( $method, $index ) {
    if ( WC()->cart->subtotal > 100 ) {
        echo '<p>100円以上のお買い上げで、送料無料になります!</p>';
    }
}

このサンプルは、カートの合計が100円を超える場合に特定のメッセージを表示しています。

サンプルコード 3

add_action( 'woocommerce_after_shipping_rate', 'display_shipping_discount', 10, 2 );

function display_shipping_discount( $method, $index ) {
    $discount = 500; // 割引額
    echo '<p>次回のお買い物で使える500円割引チケットをプレゼント!</p>';
}

このサンプルでは、配送方法の下に次回の購入に使えるディスカウント情報を表示します。

サンプルコード 4

add_action( 'woocommerce_after_shipping_rate', 'custom_shipping_alert', 10, 2 );

function custom_shipping_alert( $method, $index ) {
    if ( 'flat_rate' === $method->id ) {
        echo '<p>フラットレート配送にてご利用いただけます。</p>';
    }
}

このサンプルは、特定の配送メソッドが選択されたときに専用メッセージを表示します。

サンプルコード 5

add_action( 'woocommerce_after_shipping_rate', 'local_shipping_notice', 10, 2 );

function local_shipping_notice( $method, $index ) {
    if ( 'local_pickup' === $method->id ) {
        echo '<p>お近くの店舗でのお受け取りが可能です。</p>';
    }
}

このサンプルでは、ローカルピックアップの配送方法が選ばれた場合に、店舗受け取りに関するメッセージを表示しています。

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


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