概要
wc_get_price_thousand_separator
は、WooCommerceで価格の数値をフォーマットする際に使用されるフィルターフックです。このフィルターは、価格を表示する際の千の区切り文字をカスタマイズするために使われます。これにより、特定の地域や言語のフォーマットに合わせた表示を可能にします。
よく使われる機能
- カスタム通貨フォーマットの設定
- 地域ごとの価格表示スタイルの調整
- プレゼンテーション目的での価格の視覚的改善
- 値段表示の一貫性を保つための設定
- 価格表示の国際化
- 特定の商品カテゴリの価格フォーマットの変更
構文
add_filter('wc_get_price_thousand_separator', 'custom_thousand_separator');
パラメータ
- $separator (string): 価格の千の区切り文字。デフォルトはカンマ(
,
)。
戻り値
- (string): 修正後の千の区切り文字。
使用可能なバージョン
- 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('wc_get_price_thousand_separator', 'change_thousand_separator');
function change_thousand_separator() {
return '.';
}
引用元: WooCommerce Documentation
サンプルコード2: 独自の区切り文字を使用
このコードは、千の区切り文字をアンダースコアに設定します。
add_filter('wc_get_price_thousand_separator', 'use_custom_separator');
function use_custom_separator() {
return '_';
}
引用元: Understanding WordPress Hooks
サンプルコード3: 空文字で区切りを無効化
このサンプルでは千の区切り文字を無効にします(空文字に設定)。
add_filter('wc_get_price_thousand_separator', 'remove_thousand_separator');
function remove_thousand_separator() {
return '';
}
引用元: WordPress Codex
サンプルコード4: JSを用いてクライアントサイドで変更
このコードは、jQueryを使用して価格の区切り文字を変更する例です。
add_filter('wc_get_price_thousand_separator', 'change_separator_jquery');
function change_separator_jquery() {
add_action('wp_footer', function() {
echo '<script>jQuery(".price").text(function(i, oldText){ return oldText.replace(/,/g, "."); });</script>';
});
}
引用元: jQuery Documentation
サンプルコード5: 言語による区切り文字の変更
このコードは、サイトの言語に基づいて千の区切り文字を変更します。
add_filter('wc_get_price_thousand_separator', 'localize_thousand_separator');
function localize_thousand_separator() {
if(get_locale() == 'fr_FR') {
return ' ';
}
return ',';
}