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

概要

woocommerce_cart_product_out_of_stock_messageフィルタは、WooCommerceのカート内の商品が在庫切れの場合に表示されるメッセージをカスタマイズするために使用されます。このフィルタを使用すると、デフォルトのメッセージを変更して、ユーザーにより適した情報を提供できます。主に以下のような機能を実装する際によく使われます。

  1. 在庫状況の明示的な説明
  2. 代替商品の提案
  3. 入荷予定日の通知
  4. 顧客にメールで通知を送るためのトリガー
  5. 特定のプロモーションの案内
  6. 商品ページへのリンク提供

このフィルタの基本構文は次の通りです。

add_filter('woocommerce_cart_product_out_of_stock_message', 'custom_out_of_stock_message', 10, 2);
  • パラメータ:

    • $out_of_stock_message: 既存の在庫切れメッセージ
    • $product: 対象の商品オブジェクト
  • 戻り値: カスタマイズされた在庫切れメッセージ

このフィルタは、WooCommerceのバージョンである4.0以降およびWordPressのバージョン5.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_cart_product_out_of_stock_message', function($out_of_stock_message) {
    return '申し訳ありませんが、この商品は在庫切れです。次回入荷までお待ちください。';
});

このコードは、在庫切れの商品に対して固定のメッセージを表示します。

サンプル2: 特定の商品のメッセージを変更

add_filter('woocommerce_cart_product_out_of_stock_message', function($out_of_stock_message, $product) {
    if ($product->get_id() === 123) {
        return 'この商品は在庫がありませんが、販売再開を予定しています。';
    }
    return $out_of_stock_message;
}, 10, 2);

このコードは、特定の商品(ID: 123)の在庫切れメッセージをカスタマイズします。

サンプル3: 代替商品の情報を追加

add_filter('woocommerce_cart_product_out_of_stock_message', function($out_of_stock_message, $product) {
    return $out_of_stock_message . ' 代わりにこちらの商品のご覧はいかがですか?';
}, 10, 2);

このコードは、在庫切れのメッセージに代替商品を提案する文言を追加します。

サンプル4: 商品の入荷日を表示

add_filter('woocommerce_cart_product_out_of_stock_message', function($out_of_stock_message) {
    return $out_of_stock_message . ' 入荷予定は来週月曜日です。';
});

このコードは、在庫切れの商品の入荷予定日をメッセージに追加します。

サンプル5: メール通知のトリガーを追加

add_filter('woocommerce_cart_product_out_of_stock_message', function($out_of_stock_message, $product) {
    // 在庫切れの通知をメールで送信(このコードのメール送信部分は省略しています)
    // wp_mail($to, $subject, $message);
    return 'この商品は在庫がありません。入荷をお知らせする通知を設定しました。';
}, 10, 2);

このコードは、在庫切れの商品についてメール通知をトリガーすることを示唆しています。

これらのサンプルコードは、著作権フリーとして提供されており、WooCommerceのカスタマイズに役立ちます。

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


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