在Woocommerce中取消设置带条件的计费字段

时间:2018-10-04 19:45:38

标签: php wordpress woocommerce

如果结帐页面基于某个页面模板,我正在尝试删除一些必填的计费字段。

如果我删除了if条件,则下面代码中的所有内容都可以正常工作,但是使用条件,即使未设置字段,提交时仍会引发所需的字段错误。我还尝试了另一种条件,例如检查$ _GET变量,但这也不起作用,不过这是一个选择。

function custom_override_checkout_fields( $fields ) {
    if ( is_page_template( 'page-simple.php') ) {
        unset($fields['billing']['billing_company']);
        unset($fields['billing']['billing_address_1']);
        unset($fields['billing']['billing_address_2']);
        unset($fields['billing']['billing_city']);
        unset($fields['billing']['billing_postcode']);
        unset($fields['billing']['billing_country']);
        unset($fields['billing']['billing_state']);
        unset($fields['order']['order_comments']);
        return $fields;
    } else {
        return $fields;
    }
}
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );

我已经排除了插件或主题冲突,方法是更改​​为26,并禁用所有不必要的插件。我正在发布最新版本的Woocommerce。我正在运行“一页结帐”插件来给我单独的结帐页,但将其排除在外是一个问题,因为当存在条件时,这不适用于常规结帐。

请让我知道我是否缺少一些有助于排除故障的信息。

0 个答案:

没有答案