概要
woocommerce_prices_include_tax フィルタは、WooCommerce における商品の価格表示において、税込み価格を表示するかどうかを制御するために使用されます。このフックを使用することで、価格に消費税を含めるかどうかを変更したり、特定の条件に基づいて価格表示をカスタマイズしたりすることができます。主に次のような機能を実装する際に利用されます。
- 税込み価格を表示するかどうかの設定
- 商品詳細ページの価格表示をカスタマイズ
- カート内の商品価格表示を調整
- 特定のユーザーロールによって価格表示を変更
- 特定の条件(例: ログインユーザーかどうか)による価格表示のカスタマイズ
- 地域や国による税率の変更に基づくダイナミックな価格表示
このフィルタは、WooCommerce のバージョン 3.x 以降および WordPress のバージョン 4.x 以降で使用可能です。
構文
add_filter( 'woocommerce_prices_include_tax', 'custom_price_tax_inclusion' );
パラメータ
– $include_tax (bool): 税込み価格を表示するかどうかを示す真偽値。
戻り値
– (bool): 注文や表示において価格が税込みかどうかを決定する真偽値。
この関数のアクションでの使用可能性
| アクション名 | 使用例 |
|---|---|
| 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_prices_include_tax', function( $include_tax ) {
// 税込み表示を常に有効にする
return true;
} );
このサンプルコードは、常に税込み価格が表示されるように設定します。
サンプルコード 2
add_filter( 'woocommerce_prices_include_tax', function( $include_tax ) {
// 商品が特定のカテゴリーの場合は税抜き価格を表示
if ( is_product_category( '特定のカテゴリー' ) ) {
return false;
}
return $include_tax;
} );
このコードは、特定のカテゴリーの商品に対して税抜き価格を表示するように変更します。
サンプルコード 3
add_filter( 'woocommerce_prices_include_tax', function( $include_tax ) {
// 非ログインユーザーには税抜き価格を表示
if ( ! is_user_logged_in() ) {
return false;
}
return true;
} );
このサンプルは、非ログインユーザーに税抜き価格を表示します。
サンプルコード 4
add_filter( 'woocommerce_prices_include_tax', function( $include_tax ) {
// マイアカウントページでは税込み価格を表示
if ( is_account_page() ) {
return true;
}
return $include_tax;
} );
このコードは、マイアカウントページにおいては常に税込み価格が表示されるようにします。
サンプルコード 5
add_filter( 'woocommerce_prices_include_tax', function( $include_tax ) {
// 管理者のみ税込み価格を表示
if ( current_user_can( 'administrator' ) ) {
return true;
}
return false;
} );
このサンプルは、管理者以外のユーザーに対して税抜き価格を表示するようにします。
これらのサンプルコードはすべて、WooCommerce のサイトにおいて商品の価格表示をカスタマイズするための例です。