概要
woocommerce_email_content_no_stock
フィルタは、WooCommerce のメールテンプレートにおける在庫切れ商品に関するメッセージの内容をカスタマイズするために使用されます。このフィルタを利用することで、在庫がない商品に対する通知を変更したり、特定の情報を追加したりすることができます。主に以下のような機能を実装する際に利用されます。
- お客様への通知内容のカスタマイズ
- 特定の商品情報の追加表示
- 在庫切れ商品の再入荷通知への誘導
- プロモーションや代替商品の提案
- メールのフォーマットの変更
- 多言語対応のメール文言の調整
構文
add_filter('woocommerce_email_content_no_stock', 'your_function_name', 10, 2);
パラメータ
woocommerce_email_content_no_stock
: フィルタフックの名前$content
: 変更するメールの内容$product
: 在庫切れの商品オブジェクト
戻り値
- 変更されたメールの内容(文字列)
対応バージョン
- WooCommerce バージョン: 3.0.0 以降
- WordPress バージョン: 4.5 以降
この関数のアクションでの使用可能性
アクション | 可能性 |
---|---|
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_email_content_no_stock', 'custom_no_stock_email_content', 10, 2);
function custom_no_stock_email_content($content, $product) {
$custom_message = 'ご注意: ' . $product->get_name() . 'は在庫切れです。';
return $custom_message . "nn" . $content;
}
このコードは、在庫切れの商品名を含むカスタムメッセージをメールの内容に追加します。
サンプル2: 再入荷通知の提案
add_filter('woocommerce_email_content_no_stock', 'add_restock_notification', 10, 2);
function add_restock_notification($content, $product) {
return $content . "nn再入荷通知を希望される場合は、こちらからお知らせください。";
}
このコードは、再入荷通知を希望する旨のメッセージをメールの最後に追加します。
サンプル3: プロモーション情報の追加
add_filter('woocommerce_email_content_no_stock', 'add_promotion_info', 10, 2);
function add_promotion_info($content, $product) {
return $content . "nn今週中にご購入いただければ、次回のご注文で使える10%オフクーポンを差し上げます!";
}
このコードは、特別なプロモーション情報を在庫切れの商品についてのメールに追加します。
サンプル4: 商品の代替商品の提案
add_filter('woocommerce_email_content_no_stock', 'suggest_alternate_product', 10, 2);
function suggest_alternate_product($content, $product) {
$alternate_product = get_alternate_product($product->get_id());
if ($alternate_product) {
return $content . "nnおすすめの商品: " . $alternate_product->get_name();
}
return $content;
}
このコードは、在庫切れの商品に対して代替商品を提案するメッセージを追加します。
サンプル5: メールのフォーマットを変更
add_filter('woocommerce_email_content_no_stock', 'modify_email_format', 10, 2);
function modify_email_format($content, $product) {
return '<strong>' . $product->get_name() . '</strong>は現在在庫がありません。' . "<br>" . $content;
}
このコードは、在庫切れの商品名を太字にして、メールの内容をHTML形式で強調します。