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

概要

woocommerce_email_subject_no_stockフィルタは、WooCommerceにおいて在庫切れの商品に関するメールの件名をカスタマイズするために使用されるフィルタです。このフィルタを利用することで、在庫がない商品について customerへの通知メールのタイトルを変更できます。こちらは主に以下のような機能を実装する際に用いられます。

  1. 在庫切れの商品が発生した場合の通知をセールス情報に合わせて調整
  2. メール件名に特定のプロモーションコードを追加
  3. ブランド名や商品名をフィルタリングして表示の最適化
  4. 在庫切れの商品の購買意欲を喚起する件名のカスタマイズ
  5. イベントや季節に応じた件名の変更
  6. 商品のリストやカテゴリーごとに異なる件名を設定

構文

add_filter( 'woocommerce_email_subject_no_stock', 'custom_no_stock_email_subject', 10, 2 );

パラメータ

  • $subject: 既定のメール件名
  • $product: 在庫切れの商品オブジェクト

戻り値

このフィルタはカスタマイズされたメール件名を返します。

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

WooCommerce 2.1.0以降で使用可能です。

使用可能なWordPressのバージョン

WordPress 4.0以降で使用可能です。

サンプルコード

サンプルコード1

add_filter( 'woocommerce_email_subject_no_stock', 'custom_no_stock_email_subject', 10, 2 );
function custom_no_stock_email_subject( $subject, $product ) {
    return '在庫なし: ' . $product->get_name();
}

このコードでは、在庫がなくなった商品名をメールの件名の先頭に追加しています。

サンプルコード2

add_filter( 'woocommerce_email_subject_no_stock', 'add_promo_code_to_no_stock_subject', 10, 2 );
function add_promo_code_to_no_stock_subject( $subject, $product ) {
    return $subject . ' - 限定プロモーション: SAVE20';
}

このコードでは、在庫切れ通知の件名にプロモーションコード「SAVE20」を追加しています。

サンプルコード3

add_filter( 'woocommerce_email_subject_no_stock', 'personalize_no_stock_subject', 10, 2 );
function personalize_no_stock_subject( $subject, $product ) {
    $brand = get_post_meta( $product->get_id(), 'product_brand', true );
    return $brand . 'の在庫切れ: ' . $product->get_name();
}

このコードでは、商品のブランド名を件名に追加し、ユーザーの関心を引くようにしています。

サンプルコード4

add_filter( 'woocommerce_email_subject_no_stock', 'seasonal_no_stock_subject', 10, 2 );
function seasonal_no_stock_subject( $subject, $product ) {
    $seasonal_message = (date('n') == 12) ? 'ホリデーセール!' : '新年セール!';
    return $subject . ' - ' . $seasonal_message;
}

このコードでは、季節に応じたメッセージを件名に追加しています。

サンプルコード5

add_filter( 'woocommerce_email_subject_no_stock', 'category_specific_no_stock_subject', 10, 2 );
function category_specific_no_stock_subject( $subject, $product ) {
    $categories = wp_get_post_terms( $product->get_id(), 'product_cat', array('fields' => 'names'));
    return implode(', ', $categories) . ' - ' . $subject;
}

このコードでは、在庫切れ商品のカテゴリー名を件名に追加しています。

この関数のアクションでの使用可能性

アクション 使用可能性
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

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


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