Woocommerce定制结帐领域有条件的折扣

时间:2017-03-01 12:23:20

标签: php wordpress woocommerce

我在woocommerce中为结帐做了一个自定义字段:

add_action( 'woocommerce_after_checkout_billing_form', 'my_custom_checkout_field' );
function my_custom_checkout_field( $checkout ) {
    woocommerce_form_field( 'forhandler-kode', array(
        'type'          => 'text',
        'class'         => array('my-field-class form-row-wide'),
        'label'         => __('Har du fået en kode fra en butik? Skriv den her! (IKKE kuponkode)'),
        'placeholder'   => __('Indtast din kode'),
        'required'      => false,
        ), $checkout->get_value( 'forhandler-kode' ));
}

现在,如果用户输入特定代码,我会尝试给予用户折扣。在测试如何抓住该字段时,即使只是检查字段是否已满,我甚至无法使用以下代码实现此目的:

add_action( 'woocommerce_cart_calculate_fees','woocommerce_custom_surcharge' );
function woocommerce_custom_surcharge() {
  global $woocommerce;

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    if ( $_POST['forhandler-kode'] ) {
    $percentage = -0.1;
    $surcharge = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total ) * $percentage;    
    $woocommerce->cart->add_fee( 'Forhandlerkode Rabat', $surcharge, true, '' );
    }

}

我在没有if语句的情况下进行了测试,代码本身运行正常。我的问题只是说:我无法抓住并检查自定义字段的值。的var_dump($ _ POST [' forhandler-KODE']);返回NULL

为了澄清,我知道我可以使用优惠券,但是,我的雇主需要这样。

0 个答案:

没有答案