【问题标题】:Change payment card icons for WooCommerce Stripe in checkout在结账时更改 WooCommerce Stripe 的支付卡图标
【发布时间】:2021-02-09 18:52:28
【问题描述】:

我想在 WooCommerce 结账时以不同的方式对 Stripe 显示的支付卡图标进行排序。

WooCommerce Stripe 插件支持不提供自定义代码支持,所以他们只是给了我一个代码 sn-p 以根据我的需要进行修改。此代码 sn-p 更改了 Visa 支付图标:

add_filter( 'wc_stripe_payment_icons', 'change_my_icons' );
function change_my_icons( $icons ) {
        // var_dump( $icons ); to show all possible icons to change.
    $icons['visa'] = '<img src="https://shipyouridea.com/wp-content/plugins/woocommerce/assets/images/icons/credit-cards/visa.svg" />';
    return $icons;
}

有人可以修改此代码 sn-p 以将支付卡图标顺序更改为 Visa > Mastercard > Amex > Discover > JCB > Diners Club

我还想完全删除 JCB 和 Diners Club 付款图标。我目前正在使用一些自定义 CSS 来隐藏这些图标,但想知道是否有更好的方法。

【问题讨论】:

    标签: php wordpress woocommerce checkout payment-method


    【解决方案1】:

    你没有使用正确的钩子。显示的图标也使用float:right,因此它们是反转的。您还可以轻松删除任何图标。

    以下将排序后的图标显示为Visa > Mastercard > Amex > Discover

    add_filter( 'woocommerce_gateway_icon', 'sort_stripe_payment_icons', 10, 2 );
    function sort_stripe_payment_icons( $icons_str, $payment_id ) {
        if ( $payment_id === 'stripe' && is_checkout() ) {
            $available_gateways = WC()->payment_gateways->get_available_payment_gateways();
            $stripe = $available_gateways['stripe'];
    
            $icons = $stripe->payment_icons();
    
            $icons_str = '';
    
            if ( 'USD' === get_woocommerce_currency() ) {
                $icons_str .= isset( $icons['discover'] ) ? $icons['discover'] : '';
                // $icons_str .= isset( $icons['jcb'] ) ? $icons['jcb'] : '';
                // $icons_str .= isset( $icons['diners'] ) ? $icons['diners'] : '';
            }
    
            $icons_str .= isset( $icons['amex'] ) ? $icons['amex'] : '';
            $icons_str .= isset( $icons['mastercard'] ) ? $icons['mastercard'] : '';
            $icons_str .= isset( $icons['visa'] ) ? $icons['visa'] : '';
    
        }
        return $icons_str;
    }
    

    代码位于活动子主题(或活动主题)的functions.php 文件中。经过测试并且可以工作。

    【讨论】:

      猜你喜欢
      • 2018-08-06
      • 2019-02-25
      • 2021-12-27
      • 2013-05-19
      • 2020-12-27
      • 2019-03-24
      • 2021-01-07
      • 2020-06-04
      • 2018-09-26
      相关资源
      最近更新 更多