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

概要

woocommerce_get_price_html フィルタは、WooCommerceの商品価格を表示する際に価格HTMLをカスタマイズするために使用されます。このフックを利用して、表示される価格形式や内容を変更が可能です。たとえば、特定の条件に応じて割引価格を強調表示したり、新しいデザイン要素を追加したりすることができます。一般的に、以下のようなケースで利用されます。

  1. 商品価格のフォーマット変更
  2. 特殊な割引情報の付加
  3. 税込価格表示の有無変更
  4. セール価格の強調表示
  5. 商品状態に応じた価格表示のカスタマイズ
  6. 他のメタデータの追加(例:購入ボタン)

構文

add_filter('woocommerce_get_price_html', 'custom_price_html', 10, 2);
function custom_price_html($price, $product) {
    // カスタマイズ用のコード
    return $price;
}

パラメータ

  • $price : 商品価格のHTML
  • $product : WooCommerceの商品オブジェクト(WC_Product)

戻り値

  • カスタマイズ後の価格HTML

対応バージョン

  • WooCommerceのバージョン:3.0 以上
  • WordPressのバージョン:4.0 以上

サンプルコード

サンプル1: 価格の前にテキストを追加

add_filter('woocommerce_get_price_html', function($price, $product) {
    return '<span class="custom-price-text">特別価格:</span> ' . $price;
});

このコードは、商品価格の前に「特別価格:」というテキストを追加しています。

サンプル2: セール中の価格を赤字に

add_filter('woocommerce_get_price_html', function($price, $product) {
    if ($product->is_on_sale()) {
        return '<span style="color:red;">' . $price . '</span>';
    }
    return $price;
});

このコードは、セール中の商品の価格を赤字で表示します。

サンプル3: 税込み価格を強調表示

add_filter('woocommerce_get_price_html', function($price, $product) {
    $tax_display_mode = get_option('woocommerce_tax_display_mode');
    if ($tax_display_mode == 'incl') {
        return '<strong>' . $price . '</strong>';
    }
    return $price;
});

ここでは、税込み価格を太字で表示するようカスタマイズしています。

サンプル4: 価格にクーポン情報を追加

add_filter('woocommerce_get_price_html', function($price, $product) {
    if (have_posts()) {
        return $price . '<br><span class="coupon-info">今ならクーポン利用可能!</span>';
    }
    return $price;
});

このコードは、価格の下にクーポン情報のメッセージを追加します。

サンプル5: 通常価格と割引価格の表示

add_filter('woocommerce_get_price_html', function($price, $product) {
    $regular_price = wc_price($product->get_regular_price());
    $sale_price = wc_price($product->get_sale_price());
    return '<del>' . $regular_price . '</del> ' . '<ins>' . $sale_price . '</ins>';
});

このコードは、通常価格と割引価格の両方を表示するようにカスタマイズします。

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

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

この表は、woocommerce_get_price_html フィルタが、指定されているアクションで使用可能かどうかに関する情報を示しています。

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


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