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

概要

wc_payment_gateway_form_saved_payment_methods_html フィルタは、WooCommerceの決済ゲートウェイで保存された支払い方法を表示する際に使用されるフィルタです。このフィルタを使用することにより、保存された支払い方法の表示をカスタマイズしたり、不要な情報を削除したり、特定の条件に基づいて表示内容を変更したりすることができます。

このフィルタは、次のような機能を実装する際に特によく使われます:
1. 保存された支払い方法のラベルを変更する
2. 特定の支払い方法の情報を非表示にする
3. 支払い方法に独自のスタイルやクラスを追加する
4. 特定の条件に基づいて支払い方法をフィルタリングする
5. 支払い方法の詳細情報を追加する
6. ユーザーインターフェースのカスタマイズを行う

構文

add_filter( 'wc_payment_gateway_form_saved_payment_methods_html', 'my_custom_function', 10, 2 );

パラメータ

  • $html (string): 組み立てられたHTMLコード
  • $gateway (WC_Payment_Gateway): 対象としている決済ゲートウェイのオブジェクト

戻り値

  • (string): フィルタリングされたHTMLコード

使用可能なバージョン

  • WooCommerce バージョン: 2.6.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_payment_gateway_form_saved_payment_methods_html', 'change_payment_method_label', 10, 2 );

function change_payment_method_label( $html, $gateway ) {
    return str_replace('クレジットカード', '新しいクレジットカード', $html);
}

このサンプルは、保存された支払い方法のラベルを「クレジットカード」から「新しいクレジットカード」に変更します。

サンプル2: 特定の支払い方法の非表示

add_filter( 'wc_payment_gateway_form_saved_payment_methods_html', 'hide_specific_payment_method', 10, 2 );

function hide_specific_payment_method( $html, $gateway ) {
    if ( strpos( $html, 'PayPal' ) !== false ) {
        $html = str_replace('PayPal', '', $html);
    }
    return $html;
}

このサンプルは、保存された支払い方法の中から「PayPal」を非表示にします。

サンプル3: カスタムクラスの追加

add_filter( 'wc_payment_gateway_form_saved_payment_methods_html', 'add_custom_class_to_payment_method', 10, 2 );

function add_custom_class_to_payment_method( $html, $gateway ) {
    return str_replace('<div class="payment-method">', '<div class="payment-method custom-class">', $html);
}

このサンプルは、保存された支払い方法に「custom-class」というカスタムクラスを追加します。

サンプル4: 複数条件によるフィルタリング

add_filter( 'wc_payment_gateway_form_saved_payment_methods_html', 'conditional_payment_method_display', 10, 2 );

function conditional_payment_method_display( $html, $gateway ) {
    if ( !is_user_logged_in() ) {
        return '';
    }
    return $html;
}

このサンプルは、ユーザーがログインしていない場合に保存された支払い方法を非表示にします。

サンプル5: 説明文の追加

add_filter( 'wc_payment_gateway_form_saved_payment_methods_html', 'add_description_to_payment_method', 10, 2 );

function add_description_to_payment_method( $html, $gateway ) {
    $html .= '<p>この支払い方法を選択すると、特別な割引があります。</p>';
    return $html;
}

このサンプルは、保存された支払い方法の下に特別な説明文を追加します。

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


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