概要
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フィルタの様々な使い方を示しています。なお、これらのコードは著作権フリーのものであり、自由に使用できます。