如果您已经知道如何使用 woocommerce 模板,那么无需重新编写所有后端代码且无需重写 jquery 的最简单方法就是复制三个 woocommerce 模板进行修改。 这是为了修改默认的 woocommerce 模板。
结帐> form-checkout.php
结帐 > form-billing.php
结帐 > form-shipping.php
对每个模板进行的更改:
结帐> form-checkout.php
将第 40 行的 <?php do_action( 'woocommerce_checkout_billing' ); ?> 移动到第 44 行
并将第 44 行的 <?php do_action( 'woocommerce_checkout_shipping' ); ?> 移动到第 40 行。
现在在其他两个模板上会有一些代码交换。
从结帐> form-billing.php
在第 29 行将 <?php _e( 'Billing &amp; Shipping', 'woocommerce' ); ?> 更改为 <?php _e( 'Shipping &amp; Billing', 'woocommerce' ); ?>
在第 33 行将 <?php _e( 'Billing details', 'woocommerce' ); ?> 更改为 <?php _e( 'Shipping details', 'woocommerce' ); ?>
这就是代码交换的用武之地:
现在剪切第 27 到 35 行并将其粘贴到 checkout > form-shipping.php 的第 25 行。
不要在行中丢失您的位置 在结帐 > form-shipping.php 您需要剪切第 25 到 33 行并将其粘贴到结帐 > 第 27 行的 form-billing.php 中。
注意:这两个模板上的代码交换
结帐时应高于此<?php do_action( 'woocommerce_before_checkout_billing_form', $checkout ); ?> > form-billing.php 模板,结帐时应高于<?php do_action( 'woocommerce_before_checkout_shipping_form', $checkout ); ?> > form-shipping.php 模板。
现在从结帐 > form-billing.php 剪切第 55 到 82 行并粘贴到结帐 > 第 77 行的 form-shipping.php。
现在从 checkout > form-shipping.php 剪切第 52 到 54 行并粘贴到 checkout > form-billing.php 的第 53 行。这必须介于默认模板的第 52 和 53 行之间。
最后一步是更改复选框的输入中的文本,该复选框现在应该在结帐时 > form-billing.php 第 31 行,如果你严格遵守的话。
您可以复制第 31 行并将其替换为以下内容:
<input id="ship-to-different-address-checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" <?php checked( apply_filters( 'woocommerce_ship_to_different_address_checked', 'shipping' === get_option( 'woocommerce_ship_to_destination' ) ? 1 : 0 ), 1 ); ?> type="checkbox" name="ship_to_different_address" value="1" /> <span><?php _e( 'Bill to a different address?', 'woocommerce' ); ?></span>
关于使字段显示在复选框中的 woocommerce jquery 的最后说明
jquery 正在使用以下元素,该元素现在应该在结帐 > form-billing.php 第 35 行。<div class="shipping_address">