0

I'm sorry if this turns out to be a stupid question, but I can't seem to find a way how to force the checkbox for "create new account" appear before everything else. I looked inside the form-checkout.php file in theme/woocommerce/checkout folder but can't make out which file should I go and look for this, so any help is appreciated. For reference my form-check.php looks like this:

if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
global $woocommerce;
$woocommerce->show_messages();
do_action( 'woocommerce_before_checkout_form', $checkout );
// If checkout registration is disabled and not logged in, the user cannot checkout
if ( ! $checkout->enable_signup && ! $checkout->enable_guest_checkout && ! is_user_logged_in() ) {
    echo apply_filters( 'woocommerce_checkout_must_be_logged_in_message', __( 'You must be logged in to checkout.', 'woocommerce' ) );
    return;
}
// filter hook for include new pages inside the payment method
$get_checkout_url = apply_filters( 'woocommerce_get_checkout_url', $woocommerce->cart->get_checkout_url() ); ?>
<form name="checkout" method="post" class="checkout" action="<?php echo esc_url( $get_checkout_url ); ?>">
    <?php if ( sizeof( $checkout->checkout_fields ) > 0 ) : ?>
        <?php do_action( 'woocommerce_checkout_before_customer_details' ); ?>
        <div class="col2-set" id="customer_details">
            <div class="col-1">
                <?php do_action( 'woocommerce_checkout_billing' ); ?>
            </div>
            <div class="col-2">
                <?php do_action( 'woocommerce_checkout_shipping' ); ?>
            </div>
        </div>
        <?php do_action( 'woocommerce_checkout_after_customer_details' ); ?>
        <h3 id="order_review_heading"><?php _e( 'Your order', 'woocommerce' ); ?></h3>
    <?php endif; ?>
    <?php do_action( 'woocommerce_checkout_order_review' ); ?>
</form>
<?php do_action( 'woocommerce_after_checkout_form', $checkout ); ?>

enter image description here

1
  • jeez, a downvote - care to explain why?
    – Nikola
    Dec 2, 2013 at 21:13

1 Answer 1

4

This can be done by customizing the form-billing.php template, just move this part:

<?php if (!is_user_logged_in() && get_option('woocommerce_enable_signup_and_login_from_checkout')=="yes") : ?>
//more code..
<?php endif; ?>

right before this line:

<?php do_action('woocommerce_before_checkout_billing_form', $checkout); ?>
1
  • 1
    actually, quite suprisingly so this code was in the form-billing.php file. Anyways, I'll mark your answer as correct since you made me go and look in other files and not blindly staring at the form-checkout.php and wondering why it doesn't work. Thx!
    – Nikola
    Dec 2, 2013 at 19:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.