WooCommerce cart-shipping.php 模板 - 单选按钮而不是 select 框
WooCommerce cart-shipping.php template - Radio button instead of select box
我在 WooCommerce 模板中看到默认 cart-shipping.php
:
<select name="shipping_method[<?php echo $index; ?>]" data-index="<?php echo $index; ?>" id="shipping_method_<?php echo $index; ?>" class="shipping_method">
<?php foreach ( $available_methods as $method ) : ?>
<option value="<?php echo esc_attr( $method->id ); ?>" <?php selected( $method->id, $chosen_method ); ?>><?php echo wp_kses_post( wc_cart_totals_shipping_method_label( $method ) ); ?></option>
<?php endforeach; ?>
</select>
如何将它从 select 框更改为单选按钮?
可能是,您没有 woocommmerce/cart/cart-shipping.php
的正确模板版本,因为我没有看到您的代码,但看到了这个(已经有单选按钮)。
所以原因可能是您的主题中有定制的旧版 woocommerce 模板。
这是cart-shipping.php
实际代码的摘录(模板版本2.5.0):
<ul id="shipping_method">
<?php foreach ( $available_methods as $method ) : ?>
<li>
<?php
printf( '<input type="radio" name="shipping_method[%1$d]" data-index="%1$d" id="shipping_method_%1$d_%2$s" value="%3$s" class="shipping_method" %4$s />
<label for="shipping_method_%1$d_%2$s">%5$s</label>',
$index, sanitize_title( $method->id ), esc_attr( $method->id ), checked( $method->id, $chosen_method, false ), wc_cart_totals_shipping_method_label( $method ) );
do_action( 'woocommerce_after_shipping_rate', $method, $index );
?>
</li>
<?php endforeach; ?>
</ul>
如您所见,默认情况下有单选按钮。
您应该更新您的主题(以及 WooCommerce 插件)。
参考文献:Github code source - woocommerce/templates/cart/cart-shipping.php
我在 WooCommerce 模板中看到默认 cart-shipping.php
:
<select name="shipping_method[<?php echo $index; ?>]" data-index="<?php echo $index; ?>" id="shipping_method_<?php echo $index; ?>" class="shipping_method">
<?php foreach ( $available_methods as $method ) : ?>
<option value="<?php echo esc_attr( $method->id ); ?>" <?php selected( $method->id, $chosen_method ); ?>><?php echo wp_kses_post( wc_cart_totals_shipping_method_label( $method ) ); ?></option>
<?php endforeach; ?>
</select>
如何将它从 select 框更改为单选按钮?
可能是,您没有 woocommmerce/cart/cart-shipping.php
的正确模板版本,因为我没有看到您的代码,但看到了这个(已经有单选按钮)。
所以原因可能是您的主题中有定制的旧版 woocommerce 模板。
这是cart-shipping.php
实际代码的摘录(模板版本2.5.0):
<ul id="shipping_method">
<?php foreach ( $available_methods as $method ) : ?>
<li>
<?php
printf( '<input type="radio" name="shipping_method[%1$d]" data-index="%1$d" id="shipping_method_%1$d_%2$s" value="%3$s" class="shipping_method" %4$s />
<label for="shipping_method_%1$d_%2$s">%5$s</label>',
$index, sanitize_title( $method->id ), esc_attr( $method->id ), checked( $method->id, $chosen_method, false ), wc_cart_totals_shipping_method_label( $method ) );
do_action( 'woocommerce_after_shipping_rate', $method, $index );
?>
</li>
<?php endforeach; ?>
</ul>
如您所见,默认情况下有单选按钮。
您应该更新您的主题(以及 WooCommerce 插件)。
参考文献:Github code source - woocommerce/templates/cart/cart-shipping.php