Ich versuche es jetzt schon seit Stunden und schaffe es trotzdem nicht, dieses „einfache“ Ding zum Laufen zu bringen.
Ich habe eine Reihe von Zahlungsgateways zur Verfügung und muss deren Namen (einschließlich des Gesamtbetrags der Bestellung) in den Text der Schaltfläche „Jetzt bezahlen“ einfügen.
Beispiel: „Verwenden Sie Stripe, um die Bestellung im Wert von 49 $ zu bezahlen
“
Ich habe einen Code, der den Checkout beim Wechsel des Gateways automatisch aktualisieren soll.Kann mir bitte jemand helfen?
add_filter( 'woocommerce_order_button_text', 'order_button_text_based_on_gateway', 10, 1 ); Funktion order_button_text_based_on_gateway( $cart ) { // Stellen Sie sicher, dass wir das Zahlungsgateway erhalten $ payment_method = WC()->session->get( 'chosen_ payment_method' ); // Basierend auf verschiedenen Gateways unterschiedliche Schaltflächentexte anzeigen (Bestellschaltfläche) if ( $ payment_method == ' bacs ' ) { return sprintf( '%s %s', __('Bestellung aufgeben und bezahlen', 'woocommerce'), strip_tags( WC()->cart->get_total() ) . } elseif ( $ payment_method == ' check ' ) { return sprintf( '%s %s', __('Bestellung aufgeben und bezahlen', 'woocommerce'), strip_tags( WC()->cart->get_total() ) ) . } elseif ( $ payment_method == ' cod ' ) { return sprintf( '%s %s', __('Bestellung aufgeben und bezahlen', 'woocommerce'), strip_tags( WC()->cart->get_total() ) . } elseif ( $ payment_method == ' etco ' ) { return sprintf( '%s %s', __('Bestellung aufgeben und bezahlen', 'woocommerce'), strip_tags( WC()->cart->get_total() ) . } else ( $ payment_method == ' Stripe ' ) { return sprintf( '%s %s', __('Bestellung aufgeben und bezahlen', 'woocommerce'), strip_tags( WC()->cart->get_total() ) . } }
Automatisches Update-Checkout-Skript:
add_action( 'wp_footer', 'reload_checkout_based_on_gateway_change', 999 ); Funktion reload_checkout_based_on_gateway_change() { if ( is_checkout() && ! is_admin() ) { //PHP beenden und SCRIPT starten ?>
你的代码中有很多错误:
'cheque'
和'cheque'
是两个不同的字符串。所以在所有的if语句中,没有一个支付方式匹配。
else
不支持任何条件参数。有多种方法可以更改结账“下单”按钮的文本:
或者也可以使用
WC_Payment_Gateway
的order_button_text
属性,如下所示:将代码放在你的子主题的functions.php文件中(或插件中)。经过测试,可以正常工作。