概要
woocommerce_cart_product_out_of_stock_message
フィルタは、WooCommerceのカート内の商品が在庫切れの場合に表示されるメッセージをカスタマイズするために使用されます。このフィルタを使用すると、デフォルトのメッセージを変更して、ユーザーにより適した情報を提供できます。主に以下のような機能を実装する際によく使われます。
- 在庫状況の明示的な説明
- 代替商品の提案
- 入荷予定日の通知
- 顧客にメールで通知を送るためのトリガー
- 特定のプロモーションの案内
- 商品ページへのリンク提供
このフィルタの基本構文は次の通りです。
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のカスタマイズに役立ちます。