首页 > 解决方案 > 在 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' );

我已经通过更改为二十六并禁用所有不必要的插件来排除插件或主题冲突。截至发稿时,我正在运行最新版本的 Woocommerce。我正在运行 One Page Checkout 插件为我提供单独的结帐页面,但将其排除为问题,因为当存在条件时,这也不适用于常规结帐。

如果我遗漏了一些有助于解决此问题的信息,请告诉我。

标签: phpwordpresswoocommerce

解决方案


推荐阅读