概要
woocommerce_variable_price_html
フィルタは、WooCommerceの変数商品における価格情報をカスタマイズするために使用されます。このフィルタを使用することで、商品の価格表示を変更したり、特定の条件に基づいて価格情報を追加したりすることができます。以下は、このフィルタがよく使われる場面です。
- 価格のフォーマットを変更する際
- 特定の顧客グループに対して異なる価格を表示する場合
- 価格表示の前後に独自のテキストを追加する際
- プロモーションやセール価格を強調する場合
- 複数のオプション価格を追加する場合
- 特定の条件に基づく価格情報の計算や補正を行う際
構文とパラメータ
apply_filters( 'woocommerce_variable_price_html', $price_html, $product );
$price_html
: 変数商品の価格を含むHTML文字列。$product
: WooCommerceの製品オブジェクト。
戻り値
- 変更された価格HTML文字列。
対応するバージョン
- WooCommerce: 1.0 以降
- WordPress: 3.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_variable_price_html', 'custom_price_prefix', 10, 2 );
function custom_price_prefix( $price_html, $product ) {
return '<span class="custom-prefix">特別価格:</span> ' . $price_html;
}
このサンプルコードは、変数商品の価格表示の前に「特別価格:」というテキストを追加します。
サンプルコード 2: 会員向けの特別価格を表示
add_filter( 'woocommerce_variable_price_html', 'member_price_display', 10, 2 );
function member_price_display( $price_html, $product ) {
if ( is_user_logged_in() && current_user_can( 'member' ) ) {
// 会員価格を取得してHTMLを変更
$member_price = get_member_price( $product );
return '<del>' . $price_html . '</del> <ins>' . $member_price . '</ins>';
}
return $price_html;
}
このサンプルでは、ログインしている会員に対して異なる価格を表示します。
サンプルコード 3: 価格に通貨シンボルを追加
add_filter( 'woocommerce_variable_price_html', 'add_currency_symbol', 10, 2 );
function add_currency_symbol( $price_html, $product ) {
return '$' . $price_html; // 通貨シンボルの追加
}
このコードは、価格表示の前にドル記号を追加します。
サンプルコード 4: 価格範囲の強調
add_filter( 'woocommerce_variable_price_html', 'highlight_price_range', 10, 2 );
function highlight_price_range( $price_html, $product ) {
return '<strong>' . $price_html . '</strong>'; // 価格を強調表示
}
このサンプルコードは、変数商品の価格範囲を太字で表示します。
サンプルコード 5: 価格のカスタムロジックを追加
add_filter( 'woocommerce_variable_price_html', 'custom_price_logic', 10, 2 );
function custom_price_logic( $price_html, $product ) {
// 一定の条件に基づいて価格を変更
if ( $product->get_price() > 100 ) {
return '高価な商品: ' . $price_html;
}
return $price_html;
}
このコードは、商品価格が100を超える場合、「高価な商品:」というテキストを追加します。
各サンプルコードは、WooCommerceのカスタマイズや特定のニーズに基づいて価格を変更する方法を示しています。