在结帐页面上默认显示送货字段

时间:2016-09-26 19:12:59

标签: php wordpress woocommerce checkout billing

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

我希望始终选中 ckeckbox ,以默认显示结算明细。

我试过设置:

$checkout = 1;

到目前为止没有运气。单选按钮显示如下:

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

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

感谢。

1 个答案:

答案 0 :(得分:3)

如果您查看 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文件中或任何插件文件中。

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

相关问题