概要
wc_price
フィルタは、WooCommerceの価格表示に関連するフックで、価格をフォーマットしたり、特定の条件に基づいて価格を変更したりするために使用されます。このフィルタは、さまざまな機能を実装する際に役立ちます。具体的には、以下のような場面でよく利用されます:
- 通常価格とセール価格の表示変更
- 通貨単位のカスタマイズ
- 特定の顧客グループ向けの価格調整
- 税込み価格または税抜き価格の表示
- 価格のハイライトや装飾
- 地域に基づく価格の異なる設定
このフィルタは、WooCommerceバージョン4.0以上およびWordPressバージョン5.0以上で使用可能です。
構文
add_filter('wc_price', 'custom_price_format', 10, 3);
パラメータ
$price
(string):フォーマットされる価格。$discounted_price
(float):ディスカウント価格(適用される場合)。$currency
(string):通貨単位。
戻り値
- フィルタ処理後のフォーマットされた価格(string)。
サンプルコード
サンプル1: 通常価格のハイライト表示
このサンプルコードは、価格を「特別価格」として強調表示します。
add_filter('wc_price', 'highlight_price', 10, 2);
function highlight_price($price, $currency) {
return '<span style="color: red; font-weight: bold;">' . $price . '</span>';
}
引用元: https://example.com
サンプル2: 通貨フォーマットの変更
このコードは、通貨マークを価格の前に追加します。
add_filter('wc_price', 'prefix_currency', 10, 2);
function prefix_currency($price, $currency) {
return '$' . $price; // 通貨マークを追加
}
引用元: https://example.com
サンプル3: 特定顧客用の価格変更
このコードは、特定の顧客に対して価格を割引表示します。
add_filter('wc_price', 'discounted_price_for_loyal_customers', 10, 2);
function discounted_price_for_loyal_customers($price, $currency) {
if (current_user_can('loyal_customer')) {
return $price * 0.9; // 10%割引
}
return $price;
}
引用元: https://example.com
サンプル4: 税抜き価格の表示
このコードは、税金を含まない価格を表示します。
add_filter('wc_price', 'exclude_tax_price', 10, 3);
function exclude_tax_price($price, $discounted_price, $currency) {
// 税率を考慮して表示
return number_format($discounted_price / 1.2, 2) . ' ' . $currency; // 例として20%の税率を適用
}
引用元: https://example.com
サンプル5: 通貨フォーマットをカスタマイズ
このコードは、価格にカスタム通貨シンボルを追加します。
add_filter('wc_price', 'custom_currency_symbol', 10, 2);
function custom_currency_symbol($price, $currency) {
return '€ ' . $price; // ユーロマークを追加
}
引用元: https://example.com
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |
この表は、wc_price
フィルタがどのアクションで使用可能かを示しています。