概要
woocommerce_variation_prices_sale_price
フィルタは、WooCommerceの製品のバリエーションのセール価格を操作するための機能です。このフィルタは、製品バリエーションのセール価格を変更したり、表示方式をカスタマイズする際によく使用されます。特に以下の機能を実装する際に役立ちます。
- 特定の条件に基づいてセール価格を変更する。
- 統一的なセール価格形式を適用する。
- バリエーションごとに異なるセール価格を設定する。
- 特定のユーザーグループ向けにセール価格を提供する。
- 税込み/税抜きセール価格の表示を変更する。
- セール価格がない場合の代替価格の表示を設定する。
構文
add_filter('woocommerce_variation_prices_sale_price', 'my_custom_variation_sale_price', 10, 3);
パラメータ
float $price
:現在のセール価格float $regular_price
:通常価格WC_Product_Variation $variation
:バリエーションのオブジェクト
戻り値
- フィルタリングされたセール価格(float)
使用可能なプラグインWooCommerceのバージョン
- WooCommerce 2.4以降
使用可能なワードプレスのバージョン
- 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: セール価格を20%引きに変更
このコードは、バリエーションのセール価格を20%引きに変更します。
add_filter('woocommerce_variation_prices_sale_price', 'custom_discounted_sale_price', 10, 3);
function custom_discounted_sale_price($price, $regular_price, $variation) {
return $price * 0.80; // セール価格を20%引き
}
サンプル2: 特定のバリエーションのセール価格をカスタマイズ
このコードでは、特定のバリエーションに対して固定価格を設定します。
add_filter('woocommerce_variation_prices_sale_price', 'custom_fixed_sale_price', 10, 3);
function custom_fixed_sale_price($price, $regular_price, $variation) {
if ($variation->get_id() === 123) { // バリエーションIDが123の場合
return 19.99; // 固定のセール価格
}
return $price;
}
サンプル3: セール価格がない場合の代替価格
このコードは、セール価格が設定されていない場合に通常価格を表示します。
add_filter('woocommerce_variation_prices_sale_price', 'replace_sale_price_with_regular', 10, 3);
function replace_sale_price_with_regular($price, $regular_price, $variation) {
if ($price == 0) {
return $regular_price; // セール価格がない場合、通常価格を返す
}
return $price;
}
サンプル4: 商品がセール中のバリエーションのみ価格を表示
このコードは、セール中のバリエーションのみ価格を表示します。
add_filter('woocommerce_variation_prices_sale_price', 'show_sale_price_only_on_sale', 10, 3);
function show_sale_price_only_on_sale($price, $regular_price, $variation) {
if (!$variation->is_on_sale()) {
return ''; // セール中でない場合、価格を空にする
}
return $price;
}
サンプル5: セール価格をカスタムフォーマットで表示
このコードでは、セール価格をカスタムフォーマットで表示します。
add_filter('woocommerce_variation_prices_sale_price', 'custom_format_sale_price', 10, 3);
function custom_format_sale_price($price, $regular_price, $variation) {
return 'SALE: ' . wc_price($price); // カスタムフォーマットで価格を戻す
}
これらのサンプルコードは、WooCommerceの woocommerce_variation_prices_sale_price
フィルタを利用して、セール価格を動的にカスタマイズする方法を示しています。各コードは異なるユースケースに対応しており、実際のニーズに応じて調整が可能です。