如果这是一个愚蠢的问题,我很抱歉,但我似乎找不到一种方法来强制“创建新帐户”复选框出现在所有其他选项之前。我看了看form-checkout.php
文件位于theme/woocommerce/checkout
文件夹,但无法确定应该查找哪个文件,因此非常感谢您的帮助。请参考我的表格检查。php如下所示:
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 ); ?>
最合适的回答,由SO网友:Nicolai Grossherr 整理而成
这可以通过自定义form-billing.php
模板,只需移动此部分:
<?php if (!is_user_logged_in() && get_option(\'woocommerce_enable_signup_and_login_from_checkout\')=="yes") : ?>
//more code..
<?php endif; ?>
就在此行之前:
<?php do_action(\'woocommerce_before_checkout_billing_form\', $checkout); ?>