プラグインWooCommerceのwoocommerce_cart_item_remove_linkフィルタの使用方法・解説

概要

woocommerce_cart_item_remove_link フィルタは、WooCommerce のカートでアイテムを削除するためのリンクをカスタマイズする際に使用されます。このフィルタを利用することで、デフォルトの削除リンクのテキストやスタイルを変更したり、削除リンクを特定の条件に基づいて非表示にしたりすることができます。

一般的に、このフィルタは以下のような機能を実装する際に使われます:

  1. カート内アイテムの削除リンクのテキストを変更する。
  2. 特定の条件下で削除リンクを非表示にする。
  3. 削除リンクにカスタムクラスを追加する。
  4. 利用する言語に応じて削除リンクのテキストを翻訳する。
  5. 削除リンクのタイトル属性を追加・変更する。
  6. その他、カート内アイテムに対するカスタム機能の実装。

構文

add_filter( 'woocommerce_cart_item_remove_link', 'custom_remove_cart_item_link', 10, 2 );

パラメータ

  • $link (string): 元の削除リンク。
  • $cart_item_key (string): カートアイテムのキー。

戻り値

カスタマイズされた削除リンク (string)。

利用可能なバージョン

  • WooCommerce: バージョン 2.1 以降
  • WordPress: バージョン 4.0 以降

サンプルコード

サンプル1: 削除リンクのテキストを変更する

add_filter( 'woocommerce_cart_item_remove_link', 'change_remove_link_text', 10, 2 );

function change_remove_link_text( $link, $cart_item_key ) {
    return str_replace( 'Remove', '削除', $link );
}

このコードは、カート内の「Remove」というテキストを「削除」に変更します。

サンプル2: 特定条件で削除リンクを非表示にする

add_filter( 'woocommerce_cart_item_remove_link', 'hide_remove_link_based_on_condition', 10, 2 );

function hide_remove_link_based_on_condition( $link, $cart_item_key ) {
    $item_data = WC()->cart->get_cart_item( $cart_item_key );
    if ( $item_data['product_id'] === 123 ) { // 商品IDが123の場合
        return '';
    }
    return $link;
}

このコードでは、商品IDが123のアイテムに対して削除リンクを非表示にします。

サンプル3: 削除リンクにカスタムクラスを追加

add_filter( 'woocommerce_cart_item_remove_link', 'add_custom_class_to_remove_link', 10, 2 );

function add_custom_class_to_remove_link( $link, $cart_item_key ) {
    return str_replace( 'class="', 'class="custom-remove-class ', $link );
}

このコードは削除リンクに「custom-remove-class」というクラスを追加します。

サンプル4: 削除リンクのタイトル属性を追加

add_filter( 'woocommerce_cart_item_remove_link', 'add_title_to_remove_link', 10, 2 );

function add_title_to_remove_link( $link, $cart_item_key ) {
    return str_replace( 'href=', 'title="このアイテムを削除" href=', $link );
}

このコードは、削除リンクに「このアイテムを削除」というタイトル属性を追加します。

サンプル5: 削除リンクのスタイルを変更

add_filter( 'woocommerce_cart_item_remove_link', 'modify_remove_link_style', 10, 2 );

function modify_remove_link_style( $link, $cart_item_key ) {
    return str_replace( '<a ', '<a style="color:red;" ', $link );
}

このコードは、削除リンクのテキストの色を赤に変更します。

この関数のアクションでの使用可能性

アクション 使用例
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

この関数について質問する


上の計算式の答えを入力してください