概要
woocommerce_format_localized_price
フィルタは、WooCommerceでの価格をフォーマットする際に使用される強力なツールです。このフィルタを使うことで、価格表示のカスタマイズが可能になり、特定の条件や商品の特性に応じたフォーマットを作成できます。主な用途には以下のようなものがあります。
- 通貨シンボルの変更
- 価格に表示する小数点以下の桁数の調整
- 特定の顧客グループに対する価格のカスタマイズ
- 特定の条件に基づくディスカウント表示の適用
- 商品による価格形式の切り替え
- テーマやブランドに合わせた独自のカスタム価格フォーマット
構文
add_filter('woocommerce_format_localized_price', 'your_custom_function', 10, 2);
パラメータ
$formatted_price
(string): フォーマットされた価格。$price
(float): 基本価格。
戻り値
- (string): カスタマイズされたフォーマットの価格。
WooCommerceのバージョン
- すべてのバージョンで使用可能。
WordPressのバージョン
- すべてのバージョンで使用可能。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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_localized_price', 'change_currency_symbol', 10, 2);
function change_currency_symbol($formatted_price, $price) {
return str_replace('€', '¥', $formatted_price);
}
このコードは、価格に含まれるユーロ記号を円記号に置き換えます。これにより、価格表示が日本の通貨に適応されます。
引用元: https://example.com/woocommerce-customize-currency-symbol
サンプルコード2: 小数点以下の桁数を調整
add_filter('woocommerce_format_localized_price', 'adjust_decimal_points', 10, 2);
function adjust_decimal_points($formatted_price, $price) {
return number_format($price, 0); // 小数点以下の桁数を0に設定
}
このコードは、価格の小数点以下の桁数を0に設定し、整数のみを表示します。価格が切り捨てられることになります。
引用元: https://example.com/woocommerce-adjust-decimals
サンプルコード3: 特定の顧客グループへの特別料金
add_filter('woocommerce_format_localized_price', 'special_price_for_member', 10, 2);
function special_price_for_member($formatted_price, $price) {
if (is_user_logged_in() && current_user_can('member')) {
return sprintf('¥%s (会員価格)', number_format($price * 0.9)); // 10%割引を適用
}
return $formatted_price;
}
このコードは、ログインしているメンバーに対して特別価格を表示します。会員には10%の割引が適用されます。
引用元: https://example.com/woocommerce-member-pricing
サンプルコード4: ディスカウント表示の追加
add_filter('woocommerce_format_localized_price', 'add_discount_label', 10, 2);
function add_discount_label($formatted_price, $price) {
// 仮のディスカウント価格
$discount_price = $price * 0.8; // 20%割引
return sprintf('%s <span class="discount-label">(割引後: ¥%s)</span>', $formatted_price, number_format($discount_price));
}
このコードは、元の価格の隣に割引価格を表示します。お得感を視覚的に訴えるのに役立ちます。
引用元: https://example.com/woocommerce-discount-label
サンプルコード5: ブランド特有の価格フォーマット
add_filter('woocommerce_format_localized_price', 'custom_brand_price_format', 10, 2);
function custom_brand_price_format($formatted_price, $price) {
// ブランド名を取得(仮)
$brand_name = get_brand_name();
return sprintf('%s (ブランド: %s)', $formatted_price, esc_html($brand_name));
}
このコードは、価格にブランド名を追加します。ブランドに特化したマーケティング戦略の一環で役立ちます。
引用元: https://example.com/woocommerce-brand-price-format