默认情况下在结帐页面上显示运输字段

Displaying by default shipping fields on checkout page

在我的 WooCommerce 结账页面上,我只销售一种产品。结帐页面显示该产品,点击它旁边有 ckeckbox,以显示运输详细信息。这是默认的 form-checkout.php WooCommerce 模板。

我希望始终选中此 ckeckbox,以默认显示帐单明细。

我试过设置:

$checkout = 1;

到目前为止运气不好。单选按钮由以下钩子显示:

<?php do_action( 'woocommerce_checkout_before_customer_details'); ?>

任何让我知道如何实现这一目标的帮助都会非常有帮助。

谢谢。

如果您查看 checkout/form-shipping.php WooCommerce 模板的代码,在 <h3> 标签内,其中复选框代码位于,有 woocommerce_ship_to_different_address_checked 挂钩,您可以使用它来实现。这是此代码模板的摘录,显示了它:

?>
<div class="woocommerce-shipping-fields">
    <?php if ( true === WC()->cart->needs_shipping_address() ) : ?>

        <h3 id="ship-to-different-address">
            <label for="ship-to-different-address-checkbox" class="checkbox"><?php _e( 'Ship to a different address?', 'woocommerce' ); ?></label>
            <input id="ship-to-different-address-checkbox" class="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" />
        </h3>

        <div class="shipping_address">

所以你可以这样使用这个挂钩,让这个复选框始终被选中并显示账单明细:

add_filter( 'woocommerce_ship_to_different_address_checked', '__return_true');

此代码位于您的活动子主题(或主题)的 function.php 文件中或任何插件文件中。

代码已经过测试并且功能齐全。