form-add-payment-method.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. /**
  3. * Add payment method form form
  4. *
  5. * This template can be overridden by copying it to yourtheme/woocommerce/myaccount/form-add-payment-method.php.
  6. *
  7. * HOWEVER, on occasion WooCommerce will need to update template files and you
  8. * (the theme developer) will need to copy the new files to your theme to
  9. * maintain compatibility. We try to do this as little as possible, but it does
  10. * happen. When this occurs the version of the template file will be bumped and
  11. * the readme will list any important changes.
  12. *
  13. * @see https://docs.woocommerce.com/document/template-structure/
  14. * @package WooCommerce/Templates
  15. * @version 3.4.0
  16. */
  17. defined( 'ABSPATH' ) || exit;
  18. $available_gateways = WC()->payment_gateways->get_available_payment_gateways();
  19. if ( $available_gateways ) : ?>
  20. <form id="add_payment_method" method="post">
  21. <div id="payment" class="woocommerce-Payment">
  22. <ul class="woocommerce-PaymentMethods payment_methods methods">
  23. <?php
  24. // Chosen Method.
  25. if ( count( $available_gateways ) ) {
  26. current( $available_gateways )->set_current();
  27. }
  28. foreach ( $available_gateways as $gateway ) {
  29. ?>
  30. <li class="woocommerce-PaymentMethod woocommerce-PaymentMethod--<?php echo esc_attr( $gateway->id ); ?> payment_method_<?php echo esc_attr( $gateway->id ); ?>">
  31. <input id="payment_method_<?php echo esc_attr( $gateway->id ); ?>" type="radio" class="input-radio" name="payment_method" value="<?php echo esc_attr( $gateway->id ); ?>" <?php checked( $gateway->chosen, true ); ?> />
  32. <label for="payment_method_<?php echo esc_attr( $gateway->id ); ?>"><?php echo wp_kses_post( $gateway->get_title() ); ?> <?php echo wp_kses_post( $gateway->get_icon() ); ?></label>
  33. <?php
  34. if ( $gateway->has_fields() || $gateway->get_description() ) {
  35. echo '<div class="woocommerce-PaymentBox woocommerce-PaymentBox--' . esc_attr( $gateway->id ) . ' payment_box payment_method_' . esc_attr( $gateway->id ) . '" style="display: none;">';
  36. $gateway->payment_fields();
  37. echo '</div>';
  38. }
  39. ?>
  40. </li>
  41. <?php
  42. }
  43. ?>
  44. </ul>
  45. <div class="form-row">
  46. <?php wp_nonce_field( 'woocommerce-add-payment-method', 'woocommerce-add-payment-method-nonce' ); ?>
  47. <button type="submit" class="woocommerce-Button woocommerce-Button--alt button alt" id="place_order" value="<?php esc_attr_e( 'Add payment method', 'woocommerce' ); ?>"><?php esc_html_e( 'Add payment method', 'woocommerce' ); ?></button>
  48. <input type="hidden" name="woocommerce_add_payment_method" id="woocommerce_add_payment_method" value="1" />
  49. </div>
  50. </div>
  51. </form>
  52. <?php else : ?>
  53. <p class="woocommerce-notice woocommerce-notice--info woocommerce-info"><?php esc_html_e( 'New payment methods can only be added during checkout. Please contact us if you require assistance.', 'woocommerce' ); ?></p>
  54. <?php endif; ?>