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

概要

woocommerce_grouped_free_price_html フィルタは、WooCommerceのGrouped Product(グループ商品)の無料価格表示をカスタマイズする際に使用されます。このフィルタを用いることで、グループ商品の価格を表示する際に、無料であることを示す方法やテキストを自由に変更することができます。主に以下のような機能実装に用いられます。

  1. グループ商品が無料であることを示すカスタムメッセージの追加
  2. 特定の条件に応じた価格表示の変更
  3. マルチ言語環境での価格表示の調整
  4. プロモーションに基づいた価格メッセージのカスタマイズ
  5. ユーザーのロールに応じた表示の変更
  6. ブランドや特定の商品の特徴に基づくスタイル変更

フックの概要

  • 構文: add_filter('woocommerce_grouped_free_price_html', 'custom_function_name', 10, 2);

  • パラメータ:

    1. $price_html – 変更したい価格のHTMLコード
    2. $product – 対象のWooCommerce製品オブジェクト
  • 戻り値: カスタマイズされた価格のHTMLコード

  • 使用可能プラグインバージョン: WooCommerce 2.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_grouped_free_price_html', 'custom_free_price_html', 10, 2);
function custom_free_price_html($price_html, $product) {
    return '<span class="custom-free-message">この商品は無料です!</span>';
}

このコードは、グループ商品が無料の場合に表示される価格HTMLをカスタマイズし、「この商品は無料です!」というメッセージを表示します。

サンプルコード 2

add_filter('woocommerce_grouped_free_price_html', 'change_free_price_message', 10, 2);
function change_free_price_message($price_html, $product) {
    return '<strong>今なら無料!</strong>';
}

このコードは、無料のグループ商品の価格表示を「今なら無料!」と変更します。

サンプルコード 3

add_filter('woocommerce_grouped_free_price_html', 'custom_free_price_display', 10, 2);
function custom_free_price_display($price_html, $product) {
    if (is_user_logged_in()) {
        return '<span>ログイン中のユーザーには無料!</span>';
    }
    return $price_html;
}

ログイン中のユーザーにのみ、「ログイン中のユーザーには無料!」と表示し、他の場合はデフォルトのHTMLが表示されます。

サンプルコード 4

add_filter('woocommerce_grouped_free_price_html', 'custom_message_based_on_time', 10, 2);
function custom_message_based_on_time($price_html, $product) {
    if (date('H') < 12) {
        return '<p>午前中に無料で提供中!</p>';
    }
    return $price_html;
}

このコードでは、午前中(12時前)に商品が無料である場合に特別なメッセージを表示します。

サンプルコード 5

add_filter('woocommerce_grouped_free_price_html', 'highlight_free_item', 10, 2);
function highlight_free_item($price_html, $product) {
    return '<div style="color: green; font-weight: bold;">無料!</div>';
}

このコードは、グループ製品が無料の場合に、特別なスタイル(緑色で太字)を使って「無料!」と表示します。

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


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