Woocommerce隐藏付款时选中复选框

时间:2015-07-15 22:12:32

标签: woocommerce

我需要隐藏付款方式"银行转帐"在结帐表单中选中复选框时。

我在结帐时添加复选框的代码: https://gist.github.com/thegdshop/3171026

add_action('woocommerce_after_order_notes', 'my_custom_checkout_field');

function my_custom_checkout_field( $checkout ) {

    echo '<div id="my-new-field"><h3>'.__('My Checkbox: ').'</h3>';

    woocommerce_form_field( 'my_checkbox', array(
        'type'          => 'checkbox',
        'class'         => array('input-checkbox'),
        'label'         => __('I have read and agreed.'),
        'required'  => true,
        ), $checkout->get_value( 'my_checkbox' ));

    echo '</div>';
}


add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');

function my_custom_checkout_field_process() {
    global $woocommerce;

    // Check if set, if its not set add an error.
    if (!$_POST['my_checkbox'])
         $woocommerce->add_error( __('Please agree to my checkbox.') );
}


add_action('woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta');

function my_custom_checkout_field_update_order_meta( $order_id ) {
    if ($_POST['my_checkbox']) update_post_meta( $order_id, 'My Checkbox', esc_attr($_POST['my_checkbox']));
}

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可以使用ajax。方法是

  1. 在页面加载时预付银行转帐付款。
  2. 在jQuery中编写代码以取消隐藏并隐藏“银行转帐”付款方式。
  3. 就是这样。
  4. 如果能解决您的问题,请告诉我。