概要
woocommerce_cart_item_price
フィルタは、WooCommerceのカート内のアイテムの価格表示をカスタマイズするために使用されるフックです。このフィルタは、特定の値の条件に基づいて価格を変更したり、形式を変更したりする際に便利です。主に以下のような機能実装時に使用されます。
- 特定の条件下で割引価格を表示する。
- 通貨記号や小数点位置をカスタマイズする。
- 価格にカスタムメッセージを追加する。
- ショッピングカート内の価格を条件付きで変化させる。
- 税金を含めた価格の表示形式を変更する。
- 製品によって異なる価格表示スタイルを適用する。
構文
add_filter( 'woocommerce_cart_item_price', 'your_custom_function', 10, 2 );
パラメータ
$price
(string): カートアイテムの表示価格。$cart_item
(array): カートアイテムのデータ。
戻り値
- (string): 変更された価格表示。
使用可能なバージョン
- WooCommerce: 2.0 以上
- WordPress: 3.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_cart_item_price', 'custom_discount_price', 10, 2 );
function custom_discount_price( $price, $cart_item ) {
if ( isset( $cart_item['data'] ) && $cart_item['data']->get_id() === 123 ) {
$discounted_price = $cart_item['data']->get_price() * 0.9; // 10% discount
return wc_price( $discounted_price );
}
return $price;
}
このコードは、特定の商品(IDが123)の価格に10%の割引を適用して表示します。
サンプルコード 2: 通貨記号の追加
add_filter( 'woocommerce_cart_item_price', 'custom_currency_symbol', 10, 2 );
function custom_currency_symbol( $price, $cart_item ) {
return '★' . $price; // 価格の前に星マークを追加
}
このコードは、カート内の価格の前に星マークを追加して表示します。
サンプルコード 3: カスタムメッセージの追加
add_filter( 'woocommerce_cart_item_price', 'add_custom_message_to_price', 10, 2 );
function add_custom_message_to_price( $price, $cart_item ) {
return $price . ' - 限定セール中!'; // 価格の後にメッセージを追加
}
このコードは、価格の後に「限定セール中!」というメッセージを追加します。
サンプルコード 4: 別スタイルの価格表示
add_filter( 'woocommerce_cart_item_price', 'format_price_different', 10, 2 );
function format_price_different( $price, $cart_item ) {
return '<strong>' . $price . '</strong>'; // 価格を太字で表示
}
このコードは、カート内の価格を太字で表示します。
サンプルコード 5: 税金を含めた価格の表示
add_filter( 'woocommerce_cart_item_price', 'show_price_inclusive_tax', 10, 2 );
function show_price_inclusive_tax( $price, $cart_item ) {
$product = $cart_item['data'];
$price_inclusive = wc_get_price_including_tax( $product ); // 税込み価格を取得
return wc_price( $price_inclusive ); // 税込み価格を表示
}
このコードは、税金を含めた価格を表示します。