概要
woocommerce_currencies
フィルタは、WooCommerce で使用される通貨のリストをカスタマイズするためのフックです。このフィルタを利用することで、デフォルトの通貨に加えて新しい通貨を追加したり、既存の通貨を削除したりすることができます。具体的には、以下の機能を実装する際に利用されることが一般的です。
- 異なる地域に応じた通貨の追加
- 独自の通貨シンボルの設定
- 特定のビジネスニーズに応じた通貨のカスタマイズ
- 通貨の選択肢を制限するためのフィルタリング
- マルチサイト対応の通貨管理
- ユーザーの設定に基づいて通貨を変更
構文
add_filter('woocommerce_currencies', 'your_custom_currency_function');
パラメータ
array $currencies
: WooCommerceで使用される通貨の配列。
戻り値
array
: 変更された通貨の配列。
使用可能なプラグインのバージョン
- WooCommerce: バージョン3.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_currencies', 'add_custom_currency');
function add_custom_currency($currencies) {
$currencies['XYZ'] = __('My Currency', 'woocommerce');
return $currencies;
}
このコードは、新しい通貨「XYZ」を追加し、表示名を「My Currency」とします。新たに追加された通貨は、WooCommerceの通貨選択肢に表示されるようになります。
引用元: https://woocommerce.com
サンプル2: 既存の通貨を削除する
add_filter('woocommerce_currencies', 'remove_currency');
function remove_currency($currencies) {
unset($currencies['JPY']); // 円を削除
return $currencies;
}
このコードでは、日本円(JPY)を通貨リストから削除します。
引用元: https://woocommerce.com
サンプル3: 通貨シンボルを設定する
add_filter('woocommerce_currency_symbol', 'custom_currency_symbol', 10, 2);
function custom_currency_symbol($symbol, $currency) {
if ($currency == 'XYZ') {
$symbol = '㉇'; // 独自のシンボルを設定
}
return $symbol;
}
このコードは、通貨「XYZ」のシンボルを「㉇」に設定します。
引用元: https://woocommerce.com
サンプル4: 通貨の順序を変更する
add_filter('woocommerce_currencies', 'sort_currencies');
function sort_currencies($currencies) {
$currencies = array_merge(array('USD' => __('US Dollar', 'woocommerce')), $currencies);
return $currencies;
}
このコードは、米ドルをリストの最初に配置します。これにより、ユーザーが米ドルを選択しやすくなります。
引用元: https://woocommerce.com
サンプル5: 条件に基づいて通貨を変更する
add_filter('woocommerce_currencies', 'conditional_currency');
function conditional_currency($currencies) {
if (is_user_logged_in()) {
$currencies['EUR'] = __('Euro', 'woocommerce');
}
return $currencies;
}
このコードは、ユーザーがログインしている場合にのみユーロ(EUR)を通貨リストに追加します。
引用元: https://woocommerce.com