在我的WooCommerce结帐页面上,我只销售一种产品。结帐页面显示此产品,旁边有 ckeckbox ,以便在点击时显示送货详细信息。这是默认的 form-checkout.php
WooCommerce模板。
我希望始终选中 ckeckbox ,以默认显示结算明细。
我试过设置:
$checkout = 1;
到目前为止没有运气。单选按钮显示如下:
<?php do_action( 'woocommerce_checkout_before_customer_details'); ?>
让我知道如何实现这一目标的任何帮助都会非常有帮助。
感谢。
答案 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文件中或任何插件文件中。
代码已经过测试并且功能齐全。