WooCommerce チェックアウト ページの [今すぐ支払う] ボタンのテキストを、支払いゲートウェイ オプションと一致するように変更します。
P粉395056196
P粉395056196 2023-08-16 14:51:27
0
1
762
<p>もう何時間も試していますが、とにかくこの「基本的な」ことを動作させることができません。 </p> <p>利用可能な支払いゲートウェイが多数あるので、[今すぐ支払う] ボタンのテキストにそれらの名前 (注文の合計金額を含む) を含める必要があります。 </p> <p><strong>例</strong>: 「<code>注文 $49 の支払いに Stripe を使用します</code>」</p> <p>ゲートウェイを変更するときにチェックアウトを自動的に更新するコードがあります。誰か助けてください。 </p> <pre class="brush:php;toolbar:false;">add_filter( 'woocommerce_order_button_text', 'order_button_text_based_on_gateway', 10, 1 ); 関数 order_button_text_based_on_gateway( $cart ) { // 支払いゲートウェイを取得していることを確認します $payment_method = WC()->session->get( 'chosen_payment_method' ); // 異なるゲートウェイに基づいて、異なるボタン テキスト (注文ボタン) を表示します if ( $payment_method == ' bacs ' ) { return sprintf( '%s %s', __('注文して支払う', 'woocommerce'), trip_tags( WC()->cart->get_total() ) . 'WireTransfer を使用' ); } elseif ( $payment_method == ' チェック ' ) { return sprintf( '%s %s', __('注文して支払う', 'woocommerce'), trip_tags( WC()->cart->get_total() ) . '個人小切手を使用する' ); } elseif ( $payment_method == ' cod ' ) { return sprintf( '%s %s', __('注文して支払う', 'woocommerce'), trip_tags( WC()->cart->get_total() ) . '代金引換' ); } elseif ( $payment_method == ' etco ' ) { return sprintf( '%s %s', __('注文して支払う', 'woocommerce'), trip_tags( WC()->cart->get_total() ) . 'EtCo を使用' ); } else ( $payment_method == ' ストライプ ' ) { return sprintf( '%s %s', __('注文して支払う', 'woocommerce'), trip_tags( WC()->cart->get_total() ) . 'ストライプを使用' ); } }</pre> <p><strong>自動更新チェックアウト スクリプト: </strong></p> <pre class="brush:php;toolbar:false;">add_action( 'wp_footer', 'reload_checkout_based_on_gateway_change', 999 ); 関数 reload_checkout_based_on_gateway_change() { if ( is_checkout() && ! is_admin() ) { //PHPを終了してSCRIPTを開始する ?> <スクリプト> ( 関数( $ ) { $( 'form.checkout' ).on( 'change', 'input[name^="支払い方法"]', function() { $( 'body' ).trigger( 'update_checkout' ); } ); } ) (jQuery); </スクリプト> <?php } }</pre> <p><br /></p>
P粉395056196
P粉395056196

全員に返信(1)
P粉594941301

コードに多くのエラーがあります:

  • 主なエラーは文字列に関するものです。'cheque''cheque' は 2 つの異なる文字列です。
    つまり、すべての if ステートメントの中で、一致する支払い方法はありません。
  • もう 1 つのエラーは、else が条件パラメータをサポートしていないことです。

チェックアウトの「注文する」ボタンのテキストを変更するには、いくつかの方法があります:

リーリー

または、以下に示すように、WC_Payment_Gatewayorder_button_text 属性を使用することもできます。 リーリー

コードを子テーマのfunctions.phpファイル(またはプラグイン)に配置します。テスト済みで、正常に動作します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート