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

概要

woocommerce_product_add_to_cart_description フィルタは、WooCommerce における「カートに追加」ボタンの説明文をカスタマイズするために使用されるフックです。このフィルタを利用することで、ユーザーに対して製品の追加情報を提供したり、特定の条件に基づいてメッセージを変更することができます。具体的には、以下のような機能を実装する際によく使われます:

  1. 製品の特長を強調するメッセージを追加。
  2. セールやプロモーションの情報を表示。
  3. カスタマイズされたユーザーメッセージの表示。
  4. 在庫状況に基づいたメッセージ変更。
  5. 利用可能なオプションについての情報提供。
  6. 購入する際の注意点やアドバイスの提供。

構文

add_filter('woocommerce_product_add_to_cart_description', 'your_custom_function', 10, 2);

パラメータ

  • $description (string) – 現在の「カートに追加」ボタンの説明文。
  • $product (WC_Product) – 現在の製品オブジェクト。

戻り値

  • 変更された説明文 (string)。

使用可能なバージョン

  • WooCommerce: 2.1.0 以降
  • 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_product_add_to_cart_description', 'add_custom_message', 10, 2);

function add_custom_message($description, $product) {
    return $description . '<p>今なら送料無料でお届け!</p>';
}

このコードは、「カートに追加」ボタンの説明文の後に「今なら送料無料でお届け!」というメッセージを追加します。

サンプル2: 在庫状況に基づくメッセージの変更

add_filter('woocommerce_product_add_to_cart_description', 'conditional_message_based_on_stock', 10, 2);

function conditional_message_based_on_stock($description, $product) {
    if (!$product->is_in_stock()) {
        return 'この商品は現在在庫切れです。';
    }
    return $description;
}

このコードは、製品が在庫切れの際に「この商品は現在在庫切れです。」というメッセージを表示します。

サンプル3: カスタマイズされたユーザー向けメッセージ

add_filter('woocommerce_product_add_to_cart_description', 'personalized_user_message', 10, 2);

function personalized_user_message($description, $product) {
    $user = wp_get_current_user();
    if ($user->exists()) {
        return $description . sprintf('<p>こんにちは、%sさん!この製品をお楽しみください。</p>', esc_html($user->display_name));
    }
    return $description;
}

このコードは、ログイン中のユーザーに対して「こんにちは、[ユーザー名]さん!」というカスタマイズされたメッセージを追加します。

サンプル4: プロモーション情報の追加

add_filter('woocommerce_product_add_to_cart_description', 'add_promotion_info', 10, 2);

function add_promotion_info($description, $product) {
    return $description . '<p>今月中に購入すると、10%割引を適用できます!</p>';
}

このコードは、プロモーション情報として「今月中に購入すると、10%割引を適用できます!」というメッセージを追加します。

サンプル5: 特別なイベント情報の提供

add_filter('woocommerce_product_add_to_cart_description', 'add_event_info', 10, 2);

function add_event_info($description, $product) {
    return $description . '<p>3月1日から3月14日までの間、特別なイベントが開催されます!</p>';
}

このコードは、特別なイベントの情報を「カートに追加」ボタンの説明文に追加します。

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


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