概要
woocommerce_get_price_html
フィルタは、WooCommerceの商品価格を表示する際に価格HTMLをカスタマイズするために使用されます。このフックを利用して、表示される価格形式や内容を変更が可能です。たとえば、特定の条件に応じて割引価格を強調表示したり、新しいデザイン要素を追加したりすることができます。一般的に、以下のようなケースで利用されます。
- 商品価格のフォーマット変更
- 特殊な割引情報の付加
- 税込価格表示の有無変更
- セール価格の強調表示
- 商品状態に応じた価格表示のカスタマイズ
- 他のメタデータの追加(例:購入ボタン)
構文
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
フィルタが、指定されているアクションで使用可能かどうかに関する情報を示しています。