Кнопка Change Pay с изображением на кассе на основании выбранного способа оплаты WooCommerce

Дом:

С помощью этой функции можно изменить текст на кнопке оплаты. Я хотел бы, чтобы вставить небольшое изображение вместо этого.

add_filter( 'woocommerce_available_payment_gateways', 'woocommerce_available_payment_gateways' );
function woocommerce_available_payment_gateways( $available_gateways ) {
    if (! is_checkout() ) return $available_gateways;  // stop doing anything if we're not on checkout page.
    if (array_key_exists('paypal_express',$available_gateways)) {
        // Gateway ID for Paypal is 'paypal'. 
         $available_gateways['paypal_express']->order_button_text = __( 'PAY', 'woocommerce' );

    }
    return $available_gateways;
}

Заранее спасибо за помощь!

Reigel:

Как и в веб - интерфейсе текст кнопки будет изменен с помощью .text()функции JQuery, добавляя HTML как IMG тег не будет работать здесь.

Я предлагаю вместо хотя использовать Javascript с JQuery. Это должно быть что-то вроде этого:

$( document.body ).on( 'payment_method_selected', function(){
    var selectedPaymentMethod = $( '.woocommerce-checkout input[name="payment_method"]:checked' ).attr( 'id' );
    $( '#place_order' ).find('.payment-icon');
    $( '#place_order' ).prepend('<span class="payment-icon '+ selectedPaymentMethod +'"></span>'); // or any element like from font-awesome.
});
$( document.body ).trigger( 'payment_method_selected' ); // this will trigger on page load, act as initialize the icon.

Сценарий выше будет добавить spanтег с классами payment-iconи идентификатор выбранного способа оплаты. Затем вы можете использовать CSS , чтобы добавить иконку в качестве фона в этом пролете.

рекомендация

отhttp://43.154.161.224:23101/article/api/json?id=9959&siteId=1