将自定义复选框添加到WooCommerce_Checkout_Order_Review [英] Add custom checkbox to woocommerce_checkout_order_review

查看:0
本文介绍了将自定义复选框添加到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' );

然后复选框显示在帐单详细信息的末尾,没有任何问题。如何才能使文本框在结账顺序查看中显示?理想情况下,应在表.woCommerce-结账-复查-订单-表之后。

推荐答案

您应该使用以下任何钩子而不是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>';
}

希望这会有帮助。

这篇关于将自定义复选框添加到WooCommerce_Checkout_Order_Review的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆