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

概要

woocommerce_get_availability フィルタは、WooCommerceの製品在庫の可用性を表示する際にカスタマイズするためのフックです。このフィルタを利用することで、商品の在庫状況を変更したり、表示メッセージをカスタマイズしたりすることができます。以下のような機能を実装する際に特によく使用されます。

  1. 在庫状況のメッセージをカスタマイズする
  2. 在庫切れ商品の表示方法を変更する
  3. 特定の条件に基づいて商品の可用性を制御する
  4. 商品ごとに異なる可用性のアイコンやスタイルを追加する
  5. メール通知やユーザーインターフェースのカスタマイズ
  6. バッチ処理した在庫更新時のメッセージ表示

構文

add_filter('woocommerce_get_availability', 'custom_availability_message', 10, 2);

パラメータ

  1. $availability (string) – 商品の可用性に関するメッセージ
  2. $product (WC_Product) – 商品オブジェクト

戻り値

変更された $availability メッセージ (string)

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

WooCommerce 3.0以上

WordPressのバージョン

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_filter('woocommerce_get_availability', 'custom_stock_message', 10, 2);
function custom_stock_message($availability, $product) {
    if (!$product->is_in_stock()) {
        return '現在在庫切れです。再入荷の予定はありません。';
    }
    return $availability;
}

このコードは、在庫がない商品のメッセージをカスタマイズします。

サンプルコード2: 限定商品の可用性表示

add_filter('woocommerce_get_availability', 'limited_stock_message', 10, 2);
function limited_stock_message($availability, $product) {
    if ($product->get_stock_quantity() < 5) {
        return '残りわずか!お早めに!';
    }
    return $availability;
}

在庫が5個未満の商品の場合、「残りわずか!」というメッセージを表示します。

サンプルコード3: 特別オファーの可用性

add_filter('woocommerce_get_availability', 'special_offer_availability', 10, 2);
function special_offer_availability($availability, $product) {
    if ($product->get_id() === 123) { // 特定の商品ID
        return 'この商品は特別オファー中です!';
    }
    return $availability;
}

商品ID 123の商品の可用性に特別オファーのメッセージを加えます。

サンプルコード4: 在庫状況にアイコンを追加

add_filter('woocommerce_get_availability', 'add_icon_to_availability', 10, 2);
function add_icon_to_availability($availability, $product) {
    if ($product->is_in_stock()) {
        return '✅ ' . $availability;
    }
    return '❌ ' . $availability;
}

在庫がある場合はチェックマークアイコン、在庫切れの場合はバツ印アイコンを追加します。

サンプルコード5: メール通知に在庫状況を追加

add_filter('woocommerce_get_availability', 'update_stock_in_email', 10, 2);
function update_stock_in_email($availability, $product) {
    return $availability . ' (メール通知設定済み)';
}

可用性メッセージの後に「メール通知設定済み」と追加します。

それぞれのサンプルコードは、WooCommerceの在庫状況に対するフィルタの使い方を示しており、カスタマイズがどのように行えるかを具体的にしています。

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


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