WordPress+WooCommerce でネットショップ構築すると、「注文する」で確認ダイアログも注文確認画面も出ずに、速攻受注処理が走って完了画面になる。
それを止めて、「注文する」で確認ダイアログ(アラート)を出す、簡易版。
テンプレート(・js)のみの修正でOKで、手軽である。
一方、
jsダイアログ確認→PHPチェック(→PHPエラー表示)→受注処理
の順番となる。
「注文するよ?」と聞いてから「エラーあったよ」・・・が繰り返されると地味にイヤ。カゴ落ち要因。
【修正】
/(子テーマ)/woocommerce/checkout/payment.php
※Woocommerceの該当フォルダから、子テーマにコピーし、submitボタン周りを修正する。
※今回は「storefront」を親テーマとした。
<script> //横着してテンプレートの中にスクリプト書いてます。。 function confirm_order() { if (confirm('注文確定します。OK?')) { document.getElementById("place_order").click(); return true; } else { return false; } } </script> <?php echo apply_filters( 'woocommerce_order_button_html', '<input type="button" onclick="javascript:confirm_order();" class="button alt" name="woocommerce_checkout_place_order" id="place_order2" value="' . esc_attr( $order_button_text ) . '" data-value="' . esc_attr( $order_button_text ) . '">' . esc_html( $order_button_text ) . '</input>' ); // @codingStandardsIgnoreLine ?> <!-- onclick()を追記する。type="button"にする -->