2014-12-05 70 views
1

我正在使用WooCommerce建立網上商店。我的地址的設置是這樣的:1。 帳單地址 2.複選框:創建帳戶(如果尚未登入) 3複選框:船到不同的地址WooCommerce - 在結帳時創建帳戶時出錯

因此,當客戶檢查框「創建帳戶」 ,他們必須填寫密碼。我希望將帳單地址信息用於帳單和送貨地址(默認情況下)。但是,如果客戶現在選中「創建帳戶」複選框並將「發送到不同地址」留在未選中狀態,表單會提供錯誤消息,說明客戶也需要填寫送貨地址字段。我的結算代碼如下(帳單地址字段&創建帳戶複選框;請注意更多代碼)。

我希望有人有一個解決方案。謝謝。

<div class="woocommerce-billing-fields"> 
    <?php if (WC()->cart->ship_to_billing_address_only() && WC()->cart->needs_shipping()) : ?> 

     <h2><?php _e('Billing &amp; Shipping', 'woocommerce'); ?></h2> 
    <?php else : ?> 
    <?php endif; ?> 

    <?php do_action('woocommerce_before_checkout_billing_form', $checkout); ?> 

    <?php foreach ($checkout->checkout_fields['billing'] as $key => $field) : ?> 

     <?php woocommerce_form_field($key, $field, $checkout->get_value($key)); ?> 

    <?php endforeach; ?> 

    <?php do_action('woocommerce_after_checkout_billing_form', $checkout); ?> 

    <?php if (! is_user_logged_in() && $checkout->enable_signup) : ?> 
     <div class="create-account-wrapper"> 
      <?php if ($checkout->enable_guest_checkout) : ?> 

       <p class="form-row form-row-wide create-account-title walsheim checkbox-wrapper"> 
        <input class="input-checkbox" id="createaccount" <?php checked((true === $checkout->get_value('createaccount') || (true === apply_filters('woocommerce_create_account_default_checked', false))), true) ?> type="checkbox" name="createaccount" value="1" /> <label for="createaccount" class="checkbox"><?php _e('create an account', 'woocommerce'); ?></label> 
       </p> 

      <?php endif; ?> 

      <?php do_action('woocommerce_before_checkout_registration_form', $checkout); ?> 

      <?php if (! empty($checkout->checkout_fields['account'])) : ?> 

       <div class="create-account create-account-content"> 

        <p><?php _e('Create an account by entering the information below. If you are a returning customer please login at the top of the page.', 'woocommerce'); ?></p> 

        <?php foreach ($checkout->checkout_fields['account'] as $key => $field) : ?> 

         <?php woocommerce_form_field($key, $field, $checkout->get_value($key)); ?> 

        <?php endforeach; ?> 

        <div class="clear"></div> 

       </div> 

      <?php endif; ?> 

      <?php do_action('woocommerce_after_checkout_registration_form', $checkout); ?> 
     </div> 

    <?php endif; ?> 
</div> 

回答

0

有標記Shipping Destinationshipping選項卡下的woocoomerce設置頁面的選項。嘗試選擇Default to billing address選項。