将自定义复选框添加到 woocommerce_checkout_order_review
Add custom checkbox to woocommerce_checkout_order_review
一整天都在摸不着头脑。我想在下订单之前在订单审核中添加一个自定义复选框。这是我的代码:
add_action( 'woocommerce_checkout_order_review', 'my_checkbox' );
function my_checkbox( $checkout ) {
echo '<div class="my_split_checkbox"><h2>' . __('Split Order', 'woocommerce') . '</h2>';
woocommerce_form_field( 'my_split_checkbox', array(
'type' => 'checkbox',
'class' => array('checkbox_field'),
'label' => __('Split Order', 'woocommerce'),
'required' => false,
), $checkout->get_value( 'my_split_checkbox' ));
echo '</div>';
}
但是页面没有完全加载。但是,如果我用
替换钩子
add_action( 'woocommerce_after_checkout_billing_form', 'my_checkbox' );
然后复选框显示在结算明细的末尾,没有任何问题。如何让文本框显示在结帐订单审核中?理想情况下在 table .woocommerce-checkout-review-order-table.
之后
您应该使用下面的任何钩子而不是 woocommerce_checkout_order_review
来根据您的优先级显示复选框字段-
woocommerce_review_order_after_cart_contents
woocommerce_review_order_before_shipping
woocommerce_review_order_after_shipping
woocommerce_review_order_before_order_total
woocommerce_review_order_after_order_total
如需更多信息,请访问 woocommerce/templates/checkout/review-order.php
。如果您已经将 templates
文件夹复制为 woocommerce
到您的主题目录,那么您可能会在那里找到 review-order.php
。您还需要删除 $checkout
变量以及 , $checkout->get_value( 'my_split_checkbox' )
。因为那些钩子不传递任何参数。请检查 review-order.php
,您会得到一个概览。
所以你的整个代码将如下所示-
add_action( 'woocommerce_checkout_order_review', 'my_checkbox' );
function my_checkbox() {
echo '<div class="my_split_checkbox"><h2>' . __('Split Order', 'woocommerce') . '</h2>';
woocommerce_form_field( 'my_split_checkbox', array(
'type' => 'checkbox',
'class' => array('checkbox_field'),
'label' => __('Split Order', 'woocommerce'),
'required' => false,
));
echo '</div>';
}
希望对您有所帮助。
一整天都在摸不着头脑。我想在下订单之前在订单审核中添加一个自定义复选框。这是我的代码:
add_action( 'woocommerce_checkout_order_review', 'my_checkbox' );
function my_checkbox( $checkout ) {
echo '<div class="my_split_checkbox"><h2>' . __('Split Order', 'woocommerce') . '</h2>';
woocommerce_form_field( 'my_split_checkbox', array(
'type' => 'checkbox',
'class' => array('checkbox_field'),
'label' => __('Split Order', 'woocommerce'),
'required' => false,
), $checkout->get_value( 'my_split_checkbox' ));
echo '</div>';
}
但是页面没有完全加载。但是,如果我用
替换钩子add_action( 'woocommerce_after_checkout_billing_form', 'my_checkbox' );
然后复选框显示在结算明细的末尾,没有任何问题。如何让文本框显示在结帐订单审核中?理想情况下在 table .woocommerce-checkout-review-order-table.
之后您应该使用下面的任何钩子而不是 woocommerce_checkout_order_review
来根据您的优先级显示复选框字段-
woocommerce_review_order_after_cart_contents
woocommerce_review_order_before_shipping
woocommerce_review_order_after_shipping
woocommerce_review_order_before_order_total
woocommerce_review_order_after_order_total
如需更多信息,请访问 woocommerce/templates/checkout/review-order.php
。如果您已经将 templates
文件夹复制为 woocommerce
到您的主题目录,那么您可能会在那里找到 review-order.php
。您还需要删除 $checkout
变量以及 , $checkout->get_value( 'my_split_checkbox' )
。因为那些钩子不传递任何参数。请检查 review-order.php
,您会得到一个概览。
所以你的整个代码将如下所示-
add_action( 'woocommerce_checkout_order_review', 'my_checkbox' );
function my_checkbox() {
echo '<div class="my_split_checkbox"><h2>' . __('Split Order', 'woocommerce') . '</h2>';
woocommerce_form_field( 'my_split_checkbox', array(
'type' => 'checkbox',
'class' => array('checkbox_field'),
'label' => __('Split Order', 'woocommerce'),
'required' => false,
));
echo '</div>';
}
希望对您有所帮助。