概要
woocommerce_format_sale_price
フィルタは、WooCommerceでのセール価格のフォーマットをカスタマイズするために使用されます。このフィルタを使用することで、セール価格の表示を変更したり、特定の情報を付加することが可能です。具体的には、以下のような機能を実装する際によく使われます。
- セール価格のプレフィックスやサフィックスを追加する
- 通貨記号のカスタマイズ
- セール価格のスタイルを変更する
- 特定の条件に基づいて価格をフォーマットする
- ユーザーのロケーションに応じた価格表示を行う
- 他のプラグインとの統合を行う際の価格フォーマットの調整
構文
add_filter('woocommerce_format_sale_price', 'your_custom_function', 10, 3);
パラメータ
$price
(string): フォーマットされたセール価格$regular_price
(string): 通常価格$sale_price
(string): セール価格
戻り値
- フィルタによって変更されたフォーマットされたセール価格 (string)
対応するWooCommerceとWordPressのバージョン
- WooCommerce: 2.1.0以降
- 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_format_sale_price', 'add_special_price_label', 10, 3);
function add_special_price_label($price, $regular_price, $sale_price) {
return '特別価格: ' . $price;
}
サンプル2: 通貨記号を変更する
このコードは、セール価格の通貨記号を変更します。
add_filter('woocommerce_format_sale_price', 'change_currency_symbol', 10, 3);
function change_currency_symbol($price, $regular_price, $sale_price) {
$new_price = str_replace('¥', '$', $price);
return $new_price;
}
サンプル3: セール価格を太文字で表示
このコードは、セール価格を太文字で表示します。
add_filter('woocommerce_format_sale_price', 'make_price_bold', 10, 3);
function make_price_bold($price, $regular_price, $sale_price) {
return '<strong>' . $price . '</strong>';
}
サンプル4: セール価格に税率を追加
このコードは、セール価格に税率を追加表示します。
add_filter('woocommerce_format_sale_price', 'append_tax_rate_to_price', 10, 3);
function append_tax_rate_to_price($price, $regular_price, $sale_price) {
$tax_rate = 0.10; // 10%の税率
return $price . ' (税抜き: ' . ($sale_price / (1 + $tax_rate)) . ')';
}
サンプル5: セール価格をカスタムフォーマットで表示
このコードは、セール価格をカスタムフォーマットで表示します。
add_filter('woocommerce_format_sale_price', 'custom_format_sale_price', 10, 3);
function custom_format_sale_price($price, $regular_price, $sale_price) {
return '割引価格: ' . number_format(floatval($sale_price), 0) . '円';
}
これらのサンプルコードは、woocommerce_format_sale_price
フィルタの様々な使い方を示しています。なお、これらのコードは著作権フリーのものであり、自由に使用できます。